|
LLVM 23.0.0git
|
VPValues defined by a VPRegionBlock, like the canonical IV. More...
#include "Transforms/Vectorize/VPlanValue.h"
Public Member Functions | |
| VPRegionValue (Type *Ty, DebugLoc DL, VPRegionBlock *Region) | |
| ~VPRegionValue () override=default | |
| VPRegionBlock * | getDefiningRegion () const |
| Returns the region that defines this value. | |
| Type * | getType () const |
| Returns the type of the VPRegionValue. | |
| DebugLoc | getDebugLoc () const |
| Returns the debug location of the VPRegionValue. | |
| Public Member Functions inherited from llvm::VPValue | |
| Value * | getUnderlyingValue () const |
| Return the underlying Value attached to this VPValue. | |
| Value * | getLiveInIRValue () const |
| Return the underlying IR value for a VPIRValue. | |
| VPValue (const VPValue &)=delete | |
| VPValue & | operator= (const VPValue &)=delete |
| virtual | ~VPValue () |
| unsigned | getVPValueID () const |
| void | printAsOperand (raw_ostream &OS, VPSlotTracker &Tracker) const |
| void | print (raw_ostream &OS, VPSlotTracker &Tracker) const |
| void | dump () const |
| Dump the value to stderr (for debugging). | |
| void | assertNotMaterialized () const |
| Assert that this VPValue has not been materialized, if it is a VPSymbolicValue. | |
| unsigned | getNumUsers () const |
| void | addUser (VPUser &User) |
| void | removeUser (VPUser &User) |
Remove a single User from the list of users. | |
| user_iterator | user_begin () |
| const_user_iterator | user_begin () const |
| user_iterator | user_end () |
| const_user_iterator | user_end () const |
| user_range | users () |
| const_user_range | users () const |
| bool | hasMoreThanOneUniqueUser () const |
| Returns true if the value has more than one unique user. | |
| bool | hasOneUse () const |
| VPUser * | getSingleUser () |
| Return the single user of this value, or nullptr if there is not exactly one user. | |
| const VPUser * | getSingleUser () const |
| void | replaceAllUsesWith (VPValue *New) |
| void | replaceUsesWithIf (VPValue *New, llvm::function_ref< bool(VPUser &U, unsigned Idx)> ShouldReplace) |
Go through the uses list for this VPValue and make each use point to New if the callback ShouldReplace returns true for the given use specified by a pair of (VPUser, the use index). | |
| VPRecipeBase * | getDefiningRecipe () |
| Returns the recipe defining this VPValue or nullptr if it is not defined by a recipe, i.e. | |
| const VPRecipeBase * | getDefiningRecipe () const |
| bool | hasDefiningRecipe () const |
| Returns true if this VPValue is defined by a recipe. | |
| bool | isDefinedOutsideLoopRegions () const |
| Returns true if the VPValue is defined outside any loop. | |
| void | setUnderlyingValue (Value *Val) |
Static Public Member Functions | |
| static bool | classof (const VPValue *V) |
Additional Inherited Members | |
| Public Types inherited from llvm::VPValue | |
| enum | { VPVIRValueSC , VPVSymbolicSC , VPVRecipeValueSC , VPRegionValueSC } |
| An enumeration for keeping track of the concrete subclass of VPValue that are actually instantiated. More... | |
| typedef SmallVectorImpl< VPUser * >::iterator | user_iterator |
| typedef SmallVectorImpl< VPUser * >::const_iterator | const_user_iterator |
| typedef iterator_range< user_iterator > | user_range |
| typedef iterator_range< const_user_iterator > | const_user_range |
VPValues defined by a VPRegionBlock, like the canonical IV.
Definition at line 209 of file VPlanValue.h.
|
inline |
Definition at line 215 of file VPlanValue.h.
References llvm::VPValue::VPRegionValueSC.
|
overridedefault |
Definition at line 230 of file VPlanValue.h.
References llvm::VPValue::VPRegionValueSC.
|
inline |
Returns the debug location of the VPRegionValue.
Definition at line 228 of file VPlanValue.h.
Referenced by addBypassBranch(), llvm::VPRegionBlock::clone(), and llvm::VPRegionBlock::getOrCreateCanonicalIVIncrement().
|
inline |
Returns the region that defines this value.
Definition at line 222 of file VPlanValue.h.
|
inline |
Returns the type of the VPRegionValue.
Definition at line 225 of file VPlanValue.h.
Referenced by llvm::VPRegionBlock::clone().