15 #ifndef LLVM_TRANSFORMS_VECTORIZE_H
16 #define LLVM_TRANSFORMS_VECTORIZE_H
bool VectorizeFMA
Vectorize the fused-multiply-add intrinsic.
Pass * createLoopVectorizePass(bool NoUnrolling=false)
bool VectorizeMath
Vectorize floating-point math intrinsics.
unsigned MaxCandPairsForCycleCheck
The maximum number of candidate pairs with which to use a full cycle check.
bool Pow2LenOnly
Don't try to form odd-length vectors.
bool VectorizePointers
Vectorize pointer values.
bool VectorizeCmp
Vectorize comparison instructions.
unsigned MaxIter
The maximum number of pairing iterations.
bool VectorizeMemOps
Vectorize loads and stores.
bool AlignedOnly
Only generate aligned loads and stores.
LLVM Basic Block Representation.
bool SplatBreaksChain
Replicating one element to a pair breaks the chain.
unsigned SearchLimit
The maximum search distance for instruction pairs.
unsigned MaxPairs
The maximum number of candidate instruction pairs per group.
bool VectorizeFloats
Vectorize floating-point values.
bool vectorizeBasicBlock(Pass *P, BasicBlock &BB, const VectorizeConfig &C=VectorizeConfig())
Vectorize the BasicBlock.
bool FastDep
Use a fast instruction dependency analysis.
bool VectorizeCasts
Vectorize casting (conversion) operations.
BasicBlockPass * createBBVectorizePass(const VectorizeConfig &C=VectorizeConfig())
bool VectorizeBools
Vectorize boolean values.
unsigned ReqChainDepth
The required chain depth for vectorization.
unsigned MaxInsts
The maximum number of pairable instructions per group.
bool NoMemOpBoost
Don't boost the chain-depth contribution of loads and stores.
bool VectorizeGEP
Vectorize getelementptr instructions.
VectorizeConfig()
Initialize the VectorizeConfig from command line options.
Pass * createSLPVectorizerPass()
bool VectorizeInts
Vectorize integer values.
bool VectorizeSelect
Vectorize select instructions.
unsigned VectorBits
The size of the native vector registers.