This file implements VFSelectionContext methods for loop vectorization VF selection, independent of cost-modeling decisions.
More...
Go to the source code of this file.
|
| static cl::opt< bool > | MaximizeBandwidth ("vectorizer-maximize-bandwidth", cl::init(false), cl::Hidden, cl::desc("Maximize bandwidth when selecting vectorization factor which " "will be determined by the smallest type in loop.")) |
| static cl::opt< bool > | UseWiderVFIfCallVariantsPresent ("vectorizer-maximize-bandwidth-for-vector-calls", cl::init(true), cl::Hidden, cl::desc("Try wider VFs if they enable the use of vector variants")) |
| static cl::opt< bool > | ConsiderRegPressure ("vectorizer-consider-reg-pressure", cl::init(false), cl::Hidden, cl::desc("Discard VFs if their register pressure is too high.")) |
| static cl::opt< bool > | ForceTargetSupportsScalableVectors ("force-target-supports-scalable-vectors", cl::init(false), cl::Hidden, cl::desc("Pretend that scalable vectors are supported, even if the target does " "not support them. This flag should only be used for testing.")) |
| static cl::opt< bool > | ForceTargetSupportsMaskedMemoryOps ("force-target-supports-masked-memory-ops", cl::init(false), cl::Hidden, cl::desc("Assume the target supports masked memory operations (used for " "testing).")) |
| | Note: This currently only applies to llvm.masked.load and llvm.masked.store.
|
This file implements VFSelectionContext methods for loop vectorization VF selection, independent of cost-modeling decisions.
Definition in file LoopVectorizationPlanner.cpp.
◆ DEBUG_TYPE
| #define DEBUG_TYPE "loop-vectorize" |
◆ ConsiderRegPressure
| cl::opt< bool > ConsiderRegPressure("vectorizer-consider-reg-pressure", cl::init(false), cl::Hidden, cl::desc("Discard VFs if their register pressure is too high.")) |
( |
"vectorizer-consider-reg-pressure" | , |
|
|
cl::init(false) | , |
|
|
cl::Hidden | , |
|
|
cl::desc("Discard VFs if their register pressure is too high.") | ) |
|
static |
◆ ForceTargetSupportsMaskedMemoryOps
| cl::opt< bool > ForceTargetSupportsMaskedMemoryOps("force-target-supports-masked-memory-ops", cl::init(false), cl::Hidden, cl::desc("Assume the target supports masked memory operations (used for " "testing).")) |
( |
"force-target-supports-masked-memory-ops" | , |
|
|
cl::init(false) | , |
|
|
cl::Hidden | , |
|
|
cl::desc("Assume the target supports masked memory operations (used for " "testing).") | ) |
|
static |
◆ ForceTargetSupportsScalableVectors
| cl::opt< bool > ForceTargetSupportsScalableVectors("force-target-supports-scalable-vectors", cl::init(false), cl::Hidden, cl::desc( "Pretend that scalable vectors are supported, even if the target does " "not support them. This flag should only be used for testing.")) |
( |
"force-target-supports-scalable-vectors" | , |
|
|
cl::init(false) | , |
|
|
cl::Hidden | , |
|
|
cl::desc( "Pretend that scalable vectors are supported, even if the target does " "not support them. This flag should only be used for testing.") | ) |
|
static |
◆ MaximizeBandwidth
| cl::opt< bool > MaximizeBandwidth("vectorizer-maximize-bandwidth", cl::init(false), cl::Hidden, cl::desc("Maximize bandwidth when selecting vectorization factor which " "will be determined by the smallest type in loop.")) |
( |
"vectorizer-maximize-bandwidth" | , |
|
|
cl::init(false) | , |
|
|
cl::Hidden | , |
|
|
cl::desc("Maximize bandwidth when selecting vectorization factor which " "will be determined by the smallest type in loop.") | ) |
|
static |
◆ UseWiderVFIfCallVariantsPresent
| cl::opt< bool > UseWiderVFIfCallVariantsPresent("vectorizer-maximize-bandwidth-for-vector-calls", cl::init(true), cl::Hidden, cl::desc("Try wider VFs if they enable the use of vector variants")) |
( |
"vectorizer-maximize-bandwidth-for-vector-calls" | , |
|
|
cl::init(true) | , |
|
|
cl::Hidden | , |
|
|
cl::desc("Try wider VFs if they enable the use of vector variants") | ) |
|
static |