LLVM 22.0.0git
LoopIdiomVectorize.cpp File Reference

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "loop-idiom-vectorize"

Functions

static void fixSuccessorPhis (Loop *L, Value *ScalarRes, Value *VectorRes, BasicBlock *SuccBB, BasicBlock *IncBB)

Variables

static cl::opt< boolDisableAll ("disable-loop-idiom-vectorize-all", cl::Hidden, cl::init(false), cl::desc("Disable Loop Idiom Vectorize Pass."))
static cl::opt< LoopIdiomVectorizeStyleLITVecStyle ("loop-idiom-vectorize-style", cl::Hidden, cl::desc("The vectorization style for loop idiom transform."), cl::values(clEnumValN(LoopIdiomVectorizeStyle::Masked, "masked", "Use masked vector intrinsics"), clEnumValN(LoopIdiomVectorizeStyle::Predicated, "predicated", "Use VP intrinsics")), cl::init(LoopIdiomVectorizeStyle::Masked))
static cl::opt< boolDisableByteCmp ("disable-loop-idiom-vectorize-bytecmp", cl::Hidden, cl::init(false), cl::desc("Proceed with Loop Idiom Vectorize Pass, but do " "not convert byte-compare loop(s)."))
static cl::opt< unsignedByteCmpVF ("loop-idiom-vectorize-bytecmp-vf", cl::Hidden, cl::desc("The vectorization factor for byte-compare patterns."), cl::init(16))
static cl::opt< boolDisableFindFirstByte ("disable-loop-idiom-vectorize-find-first-byte", cl::Hidden, cl::init(false), cl::desc("Do not convert find-first-byte loop(s)."))
static cl::opt< boolVerifyLoops ("loop-idiom-vectorize-verify", cl::Hidden, cl::init(false), cl::desc("Verify loops generated Loop Idiom Vectorize Pass."))

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "loop-idiom-vectorize"

Definition at line 81 of file LoopIdiomVectorize.cpp.

Function Documentation

◆ fixSuccessorPhis()

void fixSuccessorPhis ( Loop * L,
Value * ScalarRes,
Value * VectorRes,
BasicBlock * SuccBB,
BasicBlock * IncBB )
static

Definition at line 245 of file LoopIdiomVectorize.cpp.

References llvm::BasicBlock::phis().

Variable Documentation

◆ ByteCmpVF

cl::opt< unsigned > ByteCmpVF("loop-idiom-vectorize-bytecmp-vf", cl::Hidden, cl::desc("The vectorization factor for byte-compare patterns."), cl::init(16)) ( "loop-idiom-vectorize-bytecmp-vf" ,
cl::Hidden ,
cl::desc("The vectorization factor for byte-compare patterns.") ,
cl::init(16)  )
static

◆ DisableAll

cl::opt< bool > DisableAll("disable-loop-idiom-vectorize-all", cl::Hidden, cl::init(false), cl::desc("Disable Loop Idiom Vectorize Pass.")) ( "disable-loop-idiom-vectorize-all" ,
cl::Hidden ,
cl::init(false) ,
cl::desc("Disable Loop Idiom Vectorize Pass.")  )
static

◆ DisableByteCmp

cl::opt< bool > DisableByteCmp("disable-loop-idiom-vectorize-bytecmp", cl::Hidden, cl::init(false), cl::desc("Proceed with Loop Idiom Vectorize Pass, but do " "not convert byte-compare loop(s).")) ( "disable-loop-idiom-vectorize-bytecmp" ,
cl::Hidden ,
cl::init(false) ,
cl::desc("Proceed with Loop Idiom Vectorize Pass, but do " "not convert byte-compare loop(s).")  )
static

◆ DisableFindFirstByte

cl::opt< bool > DisableFindFirstByte("disable-loop-idiom-vectorize-find-first-byte", cl::Hidden, cl::init(false), cl::desc("Do not convert find-first-byte loop(s).")) ( "disable-loop-idiom-vectorize-find-first-byte" ,
cl::Hidden ,
cl::init(false) ,
cl::desc("Do not convert find-first-byte loop(s).")  )
static

◆ LITVecStyle

cl::opt< LoopIdiomVectorizeStyle > LITVecStyle("loop-idiom-vectorize-style", cl::Hidden, cl::desc("The vectorization style for loop idiom transform."), cl::values(clEnumValN(LoopIdiomVectorizeStyle::Masked, "masked", "Use masked vector intrinsics"), clEnumValN(LoopIdiomVectorizeStyle::Predicated, "predicated", "Use VP intrinsics")), cl::init(LoopIdiomVectorizeStyle::Masked)) ( "loop-idiom-vectorize-style" ,
cl::Hidden ,
cl::desc("The vectorization style for loop idiom transform.") ,
cl::values(clEnumValN(LoopIdiomVectorizeStyle::Masked, "masked", "Use masked vector intrinsics"), clEnumValN(LoopIdiomVectorizeStyle::Predicated, "predicated", "Use VP intrinsics")) ,
cl::init(LoopIdiomVectorizeStyle::Masked)  )
static

◆ VerifyLoops

cl::opt< bool > VerifyLoops("loop-idiom-vectorize-verify", cl::Hidden, cl::init(false), cl::desc("Verify loops generated Loop Idiom Vectorize Pass.")) ( "loop-idiom-vectorize-verify" ,
cl::Hidden ,
cl::init(false) ,
cl::desc("Verify loops generated Loop Idiom Vectorize Pass.")  )
static