LLVM 22.0.0git
llvm::LoopVectorizeOptions Struct Reference

#include "llvm/Transforms/Vectorize/LoopVectorize.h"

Public Member Functions

 LoopVectorizeOptions ()
 The current defaults when creating the pass with no arguments are: EnableLoopInterleaving = true and EnableLoopVectorization = true.
 LoopVectorizeOptions (bool InterleaveOnlyWhenForced, bool VectorizeOnlyWhenForced)
LoopVectorizeOptionssetInterleaveOnlyWhenForced (bool Value)
LoopVectorizeOptionssetVectorizeOnlyWhenForced (bool Value)

Public Attributes

bool InterleaveOnlyWhenForced
 If false, consider all loops for interleaving.
bool VectorizeOnlyWhenForced
 If false, consider all loops for vectorization.

Detailed Description

Definition at line 85 of file LoopVectorize.h.

Constructor & Destructor Documentation

◆ LoopVectorizeOptions() [1/2]

llvm::LoopVectorizeOptions::LoopVectorizeOptions ( )
inline

The current defaults when creating the pass with no arguments are: EnableLoopInterleaving = true and EnableLoopVectorization = true.

This means that interleaving default is consistent with the cl::opt flag, while vectorization is not. FIXME: The default for EnableLoopVectorization in the cl::opt should be set to true, and the corresponding change to account for this be made in opt.cpp. The initializations below will become: InterleaveOnlyWhenForced(!EnableLoopInterleaving) VectorizeOnlyWhenForced(!EnableLoopVectorization).

Definition at line 103 of file LoopVectorize.h.

References InterleaveOnlyWhenForced, and VectorizeOnlyWhenForced.

Referenced by setInterleaveOnlyWhenForced(), and setVectorizeOnlyWhenForced().

◆ LoopVectorizeOptions() [2/2]

llvm::LoopVectorizeOptions::LoopVectorizeOptions ( bool InterleaveOnlyWhenForced,
bool VectorizeOnlyWhenForced )
inline

Definition at line 105 of file LoopVectorize.h.

References InterleaveOnlyWhenForced, and VectorizeOnlyWhenForced.

Member Function Documentation

◆ setInterleaveOnlyWhenForced()

LoopVectorizeOptions & llvm::LoopVectorizeOptions::setInterleaveOnlyWhenForced ( bool Value)
inline

Definition at line 110 of file LoopVectorize.h.

References InterleaveOnlyWhenForced, and LoopVectorizeOptions().

◆ setVectorizeOnlyWhenForced()

LoopVectorizeOptions & llvm::LoopVectorizeOptions::setVectorizeOnlyWhenForced ( bool Value)
inline

Definition at line 115 of file LoopVectorize.h.

References LoopVectorizeOptions(), and VectorizeOnlyWhenForced.

Member Data Documentation

◆ InterleaveOnlyWhenForced

bool llvm::LoopVectorizeOptions::InterleaveOnlyWhenForced

If false, consider all loops for interleaving.

If true, only loops that explicitly request interleaving are considered.

Definition at line 88 of file LoopVectorize.h.

Referenced by LoopVectorizeOptions(), LoopVectorizeOptions(), and setInterleaveOnlyWhenForced().

◆ VectorizeOnlyWhenForced

bool llvm::LoopVectorizeOptions::VectorizeOnlyWhenForced

If false, consider all loops for vectorization.

If true, only loops that explicitly request vectorization are considered.

Definition at line 92 of file LoopVectorize.h.

Referenced by LoopVectorizeOptions(), LoopVectorizeOptions(), and setVectorizeOnlyWhenForced().


The documentation for this struct was generated from the following file: