LLVM
8.0.1
|
#include "Transforms/Vectorize/VPlanValue.h"
Public Types | |
enum | { VPValueSC, VPUserSC, VPInstructionSC } |
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 |
Public Member Functions | |
VPValue (Value *UV=nullptr) | |
VPValue (const VPValue &)=delete | |
VPValue & | operator= (const VPValue &)=delete |
unsigned | getVPValueID () const |
void | printAsOperand (raw_ostream &OS) const |
unsigned | getNumUsers () const |
void | addUser (VPUser &User) |
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 () |
Returns true if the value has more than one unique user. More... | |
void | replaceAllUsesWith (VPValue *New) |
Protected Member Functions | |
VPValue (const unsigned char SC, Value *UV=nullptr) | |
Value * | getUnderlyingValue () |
Return the underlying Value attached to this VPValue. More... | |
void | setUnderlyingValue (Value *Val) |
Protected Attributes | |
Value * | UnderlyingVal |
Friends | |
class | VPBuilder |
class | VPlanHCFGTransforms |
class | VPBasicBlock |
class | VPInterleavedAccessInfo |
Definition at line 39 of file VPlanValue.h.
typedef SmallVectorImpl<VPUser *>::const_iterator llvm::VPValue::const_user_iterator |
Definition at line 97 of file VPlanValue.h.
Definition at line 99 of file VPlanValue.h.
typedef SmallVectorImpl<VPUser *>::iterator llvm::VPValue::user_iterator |
Definition at line 96 of file VPlanValue.h.
Definition at line 98 of file VPlanValue.h.
anonymous enum |
An enumeration for keeping track of the concrete subclass of VPValue that are actually instantiated.
Values of this enumeration are kept in the SubclassID field of the VPValue objects. They are used for concrete type identification.
Enumerator | |
---|---|
VPValueSC | |
VPUserSC | |
VPInstructionSC |
Definition at line 78 of file VPlanValue.h.
Definition at line 54 of file VPlanValue.h.
Referenced by VPValue().
|
inline |
Definition at line 80 of file VPlanValue.h.
References operator=(), and VPValue().
|
inline |
Definition at line 94 of file VPlanValue.h.
References llvm::SmallVectorTemplateBase< T >::push_back().
Referenced by llvm::VPUser::addOperand().
|
inline |
Definition at line 93 of file VPlanValue.h.
References llvm::SmallVectorBase::size().
Referenced by hasMoreThanOneUniqueUser().
|
inlineprotected |
Return the underlying Value attached to this VPValue.
Definition at line 65 of file VPlanValue.h.
References UnderlyingVal.
Referenced by llvm::VPBasicBlock::execute(), and llvm::VPlanHCFGTransforms::VPInstructionsToVPRecipes().
|
inline |
Definition at line 87 of file VPlanValue.h.
Referenced by llvm::VPUser::classof(), and llvm::VPInstruction::classof().
|
inline |
Returns true if the value has more than one unique user.
Definition at line 111 of file VPlanValue.h.
References getNumUsers(), replaceAllUsesWith(), user_begin(), and user_end().
Referenced by llvm::VPUser::VPUser(), and VPValue().
|
inline |
Definition at line 89 of file VPlanValue.h.
Referenced by llvm::VPlan::execute(), and llvm::operator<<().
void VPValue::replaceAllUsesWith | ( | VPValue * | New | ) |
Definition at line 690 of file VPlan.cpp.
References assert(), E, llvm::VPRegionBlock::getEntry(), llvm::InterleavedAccessInfo::getInterleaveGroup(), llvm::User::getNumOperands(), llvm::User::getOperand(), I, llvm::InterleaveGroup< InstTy >::insertMember(), llvm_unreachable, llvm::User::setOperand(), and users.
Referenced by hasMoreThanOneUniqueUser().
|
inlineprotected |
Definition at line 68 of file VPlanValue.h.
References assert().
Referenced by llvm::VPBuilder::createNaryOp().
|
inline |
Definition at line 101 of file VPlanValue.h.
References llvm::SmallVectorTemplateCommon< T >::begin().
Referenced by hasMoreThanOneUniqueUser(), and users().
|
inline |
Definition at line 102 of file VPlanValue.h.
References llvm::SmallVectorTemplateCommon< T >::begin().
|
inline |
Definition at line 103 of file VPlanValue.h.
References llvm::SmallVectorTemplateCommon< T >::end().
Referenced by hasMoreThanOneUniqueUser(), and users().
|
inline |
Definition at line 104 of file VPlanValue.h.
References llvm::SmallVectorTemplateCommon< T >::end().
|
inline |
Definition at line 105 of file VPlanValue.h.
References user_begin(), and user_end().
|
inline |
Definition at line 106 of file VPlanValue.h.
References user_begin(), and user_end().
|
friend |
Definition at line 42 of file VPlanValue.h.
|
friend |
Definition at line 40 of file VPlanValue.h.
|
friend |
Definition at line 43 of file VPlanValue.h.
|
friend |
Definition at line 41 of file VPlanValue.h.
|
protected |
Definition at line 52 of file VPlanValue.h.
Referenced by getUnderlyingValue().