LLVM API Documentation
#include <Use.h>
Public Types | |
typedef PointerIntPair< User *, 1, unsigned > | UserRef |
Public Member Functions | |
void | swap (Use &RHS) |
operator Value * () const | |
Normally Use will just implicitly convert to a Value* that it holds. More... | |
Value * | get () const |
User * | getUser () const |
void | set (Value *Val) |
Value * | operator= (Value *RHS) |
const Use & | operator= (const Use &RHS) |
Value * | operator-> () |
const Value * | operator-> () const |
Use * | getNext () const |
Static Public Member Functions | |
static Use * | initTags (Use *Start, Use *Stop) |
static void | zap (Use *Start, const Use *Stop, bool del=false) |
Friends | |
class | Value |
typedef PointerIntPair<User*, 1, unsigned> llvm::Use::UserRef |
|
inline |
If implicit conversion to Value* doesn't work, the get() method returns the Value*.
Definition at line 94 of file Use.h.
Referenced by llvm::simplify_type< Use >::getSimplifiedValue(), llvm::simplify_type< const Use >::getSimplifiedValue(), and llvm::SSAUpdater::RewriteUse().
User * llvm::Use::getUser | ( | ) | const |
getUser - This returns the User that contains this Use. For an instruction operand, for example, this will return the instruction.
Definition at line 137 of file Use.cpp.
References llvm::PointerIntPair< PointerTy, IntBits, IntType, PtrTraits >::getInt(), and llvm::PointerIntPair< PointerTy, IntBits, IntType, PtrTraits >::getPointer().
Referenced by llvm::DominatorTree::dominates(), llvm::PHINode::getIncomingBlock(), llvm::IRBuilder< true, TargetFolder >::IRBuilder(), llvm::DominatorTree::isReachableFromEntry(), OptimizeGlobalAddressOfMalloc(), llvm::Value::replaceAllUsesWith(), llvm::SSAUpdater::RewriteUse(), llvm::SSAUpdater::RewriteUseAfterInsertions(), RewriteUsesOfClonedInstructions(), llvm::IRBuilderBase::SetInsertPoint(), and tryToMakeAllocaBePromotable().
initTags - initialize the waymarking tags on an array of Uses, so that getUser() can find the User from any of those Uses.
Definition at line 89 of file Use.cpp.
Referenced by llvm::User::allocHungoffUses(), llvm::PHINode::allocHungoffUses(), and llvm::User::operator new().
|
inline |
|
inline |
Definition at line 356 of file Value.h.
References llvm::Value::addUse().
Referenced by INITIALIZE_PASS(), operator=(), llvm::SwitchInst::removeCase(), llvm::IndirectBrInst::removeDestination(), llvm::Value::replaceAllUsesWith(), llvm::BitcodeReaderValueList::ResolveConstantForwardRefs(), llvm::SSAUpdater::RewriteUse(), and llvm::SSAUpdater::RewriteUseAfterInsertions().
void llvm::Use::swap | ( | Use & | RHS | ) |
swap - provide a fast substitute to std::swap<Use> that also works with less standard-compliant compilers
Definition at line 23 of file Use.cpp.
References llvm::Value::addUse(), and llvm::NVPTX::PTXLdStInstCode::V2.
zap - This is used to destroy Use operands when the number of operands of a User changes.
Definition at line 126 of file Use.cpp.
Referenced by llvm::User::dropHungoffUses(), and llvm::User::~User().