|
bool | llvm::vputils::onlyFirstLaneUsed (const VPValue *Def) |
| Returns true if only the first lane of Def is used.
|
bool | llvm::vputils::onlyFirstPartUsed (const VPValue *Def) |
| Returns true if only the first part of Def is used.
|
bool | llvm::vputils::onlyScalarValuesUsed (const VPValue *Def) |
| Returns true if only scalar values of Def are used by all users.
|
VPValue * | llvm::vputils::getOrCreateVPValueForSCEVExpr (VPlan &Plan, const SCEV *Expr) |
| Get or create a VPValue that corresponds to the expansion of Expr .
|
const SCEV * | llvm::vputils::getSCEVExprForVPValue (VPValue *V, ScalarEvolution &SE) |
| Return the SCEV expression for V .
|
bool | llvm::vputils::isSingleScalar (const VPValue *VPV) |
| Returns true if VPV is a single scalar, either because it produces the same value for all lanes or only has its first lane used.
|
bool | llvm::vputils::isHeaderMask (const VPValue *V, VPlan &Plan) |
| Return true if V is a header mask in Plan .
|
bool | llvm::vputils::isUniformAcrossVFsAndUFs (VPValue *V) |
| Checks if V is uniform across all VF lanes and UF parts.
|
VPBasicBlock * | llvm::vputils::getFirstLoopHeader (VPlan &Plan, VPDominatorTree &VPDT) |
| Returns the header block of the first, top-level loop, or null if none exist.
|
unsigned | llvm::vputils::getVFScaleFactor (VPRecipeBase *R) |
| Get the VF scaling factor applied to the recipe's output, if the recipe has one.
|
std::optional< VPValue * > | llvm::vputils::getRecipesForUncountableExit (VPlan &Plan, SmallVectorImpl< VPRecipeBase * > &Recipes, SmallVectorImpl< VPRecipeBase * > &GEPs) |
| Returns the VPValue representing the uncountable exit comparison used by AnyOf if the recipes it depends on can be traced back to live-ins and the addresses (in GEP/PtrAdd form) of any (non-masked) load used in generating the values for the comparison.
|