LLVM API Documentation
#include <User.h>
Classes | |
class | value_op_iterator |
Public Types | |
typedef Use * | op_iterator |
typedef const Use * | const_op_iterator |
![]() | |
enum | ValueTy { ArgumentVal, BasicBlockVal, FunctionVal, GlobalAliasVal, GlobalVariableVal, UndefValueVal, BlockAddressVal, ConstantExprVal, ConstantAggregateZeroVal, ConstantDataArrayVal, ConstantDataVectorVal, ConstantIntVal, ConstantFPVal, ConstantArrayVal, ConstantStructVal, ConstantVectorVal, ConstantPointerNullVal, MDNodeVal, MDStringVal, InlineAsmVal, PseudoSourceValueVal, FixedStackPseudoSourceValueVal, InstructionVal, ConstantFirstVal = FunctionVal, ConstantLastVal = ConstantPointerNullVal } |
typedef value_use_iterator< User > | use_iterator |
typedef value_use_iterator < const User > | const_use_iterator |
Public Member Functions | |
~User () | |
void | operator delete (void *Usr) |
operator delete - free memory allocated for User and Use objects More... | |
void | operator delete (void *, unsigned) |
placement delete - required by std, but never called. More... | |
void | operator delete (void *, unsigned, bool) |
placement delete - required by std, but never called. More... | |
Value * | getOperand (unsigned i) const |
void | setOperand (unsigned i, Value *Val) |
const Use & | getOperandUse (unsigned i) const |
Use & | getOperandUse (unsigned i) |
unsigned | getNumOperands () const |
op_iterator | op_begin () |
const_op_iterator | op_begin () const |
op_iterator | op_end () |
const_op_iterator | op_end () const |
value_op_iterator | value_op_begin () |
value_op_iterator | value_op_end () |
void | dropAllReferences () |
void | replaceUsesOfWith (Value *From, Value *To) |
![]() | |
virtual | ~Value () |
void | dump () const |
dump - Support for debugging, callable in GDB: V->dump() More... | |
void | print (raw_ostream &O, AssemblyAnnotationWriter *AAW=0) const |
Type * | getType () const |
LLVMContext & | getContext () const |
All values hold a context through their type. More... | |
bool | hasName () const |
ValueName * | getValueName () const |
void | setValueName (ValueName *VN) |
StringRef | getName () const |
void | setName (const Twine &Name) |
void | takeName (Value *V) |
void | replaceAllUsesWith (Value *V) |
bool | use_empty () const |
use_iterator | use_begin () |
const_use_iterator | use_begin () const |
use_iterator | use_end () |
const_use_iterator | use_end () const |
User * | use_back () |
const User * | use_back () const |
bool | hasOneUse () const |
bool | hasNUses (unsigned N) const |
bool | hasNUsesOrMore (unsigned N) const |
bool | isUsedInBasicBlock (const BasicBlock *BB) const |
unsigned | getNumUses () const |
void | addUse (Use &U) |
unsigned | getValueID () const |
unsigned | getRawSubclassOptionalData () const |
void | clearSubclassOptionalData () |
bool | hasSameSubclassOptionalData (const Value *V) const |
void | intersectOptionalDataWith (const Value *V) |
bool | hasValueHandle () const |
Value * | stripPointerCasts () |
Strips off any unneeded pointer casts, all-zero GEPs and aliases from the specified value, returning the original uncasted value. More... | |
const Value * | stripPointerCasts () const |
Value * | stripPointerCastsNoFollowAliases () |
Strips off any unneeded pointer casts and all-zero GEPs from the specified value, returning the original uncasted value. More... | |
const Value * | stripPointerCastsNoFollowAliases () const |
Value * | stripInBoundsConstantOffsets () |
Strips off unneeded pointer casts and all-constant GEPs from the specified value, returning the original pointer value. More... | |
const Value * | stripInBoundsConstantOffsets () const |
Value * | stripAndAccumulateInBoundsConstantOffsets (const DataLayout &DL, APInt &Offset) |
Strips like stripInBoundsConstantOffsets but also accumulates the constant offset stripped. More... | |
const Value * | stripAndAccumulateInBoundsConstantOffsets (const DataLayout &DL, APInt &Offset) const |
Value * | stripInBoundsOffsets () |
Strips off unneeded pointer casts and any in-bounds offsets from the specified value, returning the original pointer value. More... | |
const Value * | stripInBoundsOffsets () const |
bool | isDereferenceablePointer () const |
Value * | DoPHITranslation (const BasicBlock *CurBB, const BasicBlock *PredBB) |
const Value * | DoPHITranslation (const BasicBlock *CurBB, const BasicBlock *PredBB) const |
void | mutateType (Type *Ty) |
Static Public Member Functions | |
static bool | classof (const Value *V) |
Protected Member Functions | |
void * | operator new (size_t s, unsigned Us) |
User (Type *ty, unsigned vty, Use *OpList, unsigned NumOps) | |
Use * | allocHungoffUses (unsigned) const |
void | dropHungoffUses () |
template<int Idx> | |
Use & | Op () |
template<int Idx> | |
const Use & | Op () const |
![]() | |
virtual void | printCustom (raw_ostream &O) const |
Value (Type *Ty, unsigned scid) | |
unsigned short | getSubclassDataFromValue () const |
void | setValueSubclassData (unsigned short D) |
Static Protected Member Functions | |
template<int Idx, typename U > | |
static Use & | OpFrom (const U *that) |
Protected Attributes | |
Use * | OperandList |
unsigned | NumOperands |
![]() | |
unsigned char | SubclassOptionalData: 7 |
Friends | |
template<unsigned > | |
struct | HungoffOperandTraits |
Additional Inherited Members | |
![]() | |
static const unsigned | MaximumAlignment = 1u << 29 |
typedef const Use* llvm::User::const_op_iterator |
typedef Use* llvm::User::op_iterator |
|
inline |
Definition at line 62 of file User.h.
References NumOperands, OperandList, and llvm::Use::zap().
Definition at line 45 of file User.cpp.
References llvm::Use::initTags(), and N.
|
inline |
Definition at line 168 of file User.h.
References op_begin(), and op_end().
Referenced by llvm::expandDivision(), llvm::expandDivisionUpTo32Bits(), llvm::expandRemainder(), and llvm::expandRemainderUpTo32Bits().
|
inlineprotected |
Definition at line 55 of file User.h.
References NumOperands, OperandList, and llvm::Use::zap().
Referenced by llvm::IndirectBrInst::~IndirectBrInst(), llvm::LandingPadInst::~LandingPadInst(), llvm::PHINode::~PHINode(), and llvm::SwitchInst::~SwitchInst().
|
inline |
Definition at line 108 of file User.h.
References NumOperands.
Referenced by llvm::LandingPadInst::addClause(), llvm::MachineModuleInfo::AnalyzeModule(), CanEvaluateShuffled(), canTrapImpl(), llvm::GetElementPtrInst::clone_impl(), llvm::CallInst::clone_impl(), llvm::ReturnInst::clone_impl(), llvm::BranchInst::clone_impl(), llvm::InvokeInst::clone_impl(), llvm::collectUsedGlobalVariables(), llvm::ComputeMaskedBits(), llvm::constant_iterator::constant_iterator(), ConstantFold(), llvm::ConstantFoldLoadThroughGEPConstantExpr(), DeleteDeadInstruction(), deleteDeadInstruction(), emitGlobalConstantArray(), emitGlobalConstantStruct(), llvm::InstCombiner::EraseInstFromFunction(), EvaluateExpression(), EvaluateGEPOffsetExpression(), evaluateICmpRelation(), EvaluateStoreInto(), FindUsedValues(), findUsedValues(), llvm::InstCombiner::FoldCmpLoadFromIndexedGlobal(), llvm::InstCombiner::FoldGEPICmp(), llvm::InstCombiner::FoldSelectOpOp(), llvm::ConstantExpr::getAsInstruction(), getGEPInductionOperand(), llvm::SCEVExpander::getIVIncOperand(), getLoopPhiForCounter(), getMergedGlobalExpr(), getNoopInput(), llvm::CallInst::getNumArgOperands(), llvm::GEPOperator::getNumIndices(), llvm::GetElementPtrInst::getNumIndices(), GetOffsetFromIndex(), llvm::Constant::getRelocationInfo(), llvm::ConstantVector::getSplatValue(), llvm::ConstantKeyData< ConstantExpr >::getValType(), llvm::ConstantExpr::getWithOperandReplaced(), llvm::ConstantExpr::getWithOperands(), llvm::GetElementPtrInst::hasAllConstantIndices(), llvm::GetElementPtrInst::hasAllZeroIndices(), llvm::GEPOperator::hasIndices(), llvm::GetElementPtrInst::hasIndices(), llvm::Loop::hasLoopInvariantOperands(), llvm::Instruction::isIdenticalToWhenDefined(), isLikelyComplexAddressComputation(), IsPointerOffset(), IsSafeComputationToRemove(), isSafeSROAElementUse(), llvm::isSafeToSpeculativelyExecute(), llvm::Instruction::isSameOperationAs(), isSimpleEnoughValueToCommitHelper(), llvm::Constant::isThreadDependent(), IsUserOfGlobalSafeForSRA(), llvm::Loop::makeLoopInvariant(), llvm::MapValue(), mergeEmptyReturnBlocks(), llvm::HungoffOperandTraits< 2 >::op_end(), llvm::OptionalOperandTraits< GlobalVariable >::operands(), llvm::VariadicOperandTraits< CallInst, 1 >::operands(), llvm::HungoffOperandTraits< 2 >::operands(), llvm::constant_iterator::operator++(), ParseGlobalCtors(), llvm::AssemblyWriter::printInstruction(), llvm::RecursivelyDeleteTriviallyDeadInstructions(), RemapInstruction(), llvm::SwitchInst::removeCase(), RemoveDeadConstant(), llvm::IndirectBrInst::removeDestination(), llvm::PHINode::removeIncomingValue(), RemoveInstInputs(), replaceUsesOfWith(), ReplaceUsesOfWith(), llvm::Constant::replaceUsesOfWithOnConstant(), llvm::GlobalVariable::replaceUsesOfWithOnConstant(), llvm::ConstantArray::replaceUsesOfWithOnConstant(), llvm::ConstantStruct::replaceUsesOfWithOnConstant(), llvm::ConstantVector::replaceUsesOfWithOnConstant(), llvm::ConstantExpr::replaceUsesOfWithOnConstant(), llvm::returnTypeIsEligibleForTailCall(), llvm::ExecutionEngine::runStaticConstructorsDestructors(), SimplifyWithOpReplaced(), SinkThenElseCodeToEnd(), SRAGlobal(), ValueIsOnlyUsedLocallyOrStoredToOneGlobal(), VerifySubExpr(), llvm::InstCombiner::visitGetElementPtrInst(), llvm::Interpreter::visitReturnInst(), WriteConstants(), and WriteInstruction().
Definition at line 88 of file User.h.
References NumOperands, and OperandList.
Referenced by llvm::AliasSetTracker::add(), llvm::AddCatchInfo(), AddReachableCodeToWorklist(), AddressIsTaken(), llvm::MachineModuleInfo::AnalyzeModule(), BreakUpSubtract(), CanEvaluateSExtd(), CanEvaluateShifted(), CanEvaluateShuffled(), CanEvaluateTruncated(), CanEvaluateZExtd(), llvm::CannotBeNegativeZero(), CanPHITrans(), CheapToScalarize(), CleanupPointerRootUsers(), llvm::AllocaInst::clone_impl(), llvm::LoadInst::clone_impl(), llvm::StoreInst::clone_impl(), llvm::AtomicCmpXchgInst::clone_impl(), llvm::AtomicRMWInst::clone_impl(), llvm::SelectInst::clone_impl(), llvm::VAArgInst::clone_impl(), llvm::ExtractElementInst::clone_impl(), llvm::InsertElementInst::clone_impl(), llvm::ShuffleVectorInst::clone_impl(), llvm::TruncInst::clone_impl(), llvm::ZExtInst::clone_impl(), llvm::SExtInst::clone_impl(), llvm::FPTruncInst::clone_impl(), llvm::FPExtInst::clone_impl(), llvm::UIToFPInst::clone_impl(), llvm::SIToFPInst::clone_impl(), llvm::FPToUIInst::clone_impl(), llvm::FPToSIInst::clone_impl(), llvm::IntToPtrInst::clone_impl(), llvm::PtrToIntInst::clone_impl(), llvm::BitCastInst::clone_impl(), llvm::AddrSpaceCastInst::clone_impl(), CollectBSwapParts(), CollectInsertionElements(), CollectShuffleElements(), CollectSingleShuffleElements(), llvm::collectUsedGlobalVariables(), CommitValueTo(), llvm::InstCombiner::commonCastTransforms(), llvm::InstCombiner::commonIDivTransforms(), llvm::InstCombiner::commonIRemTransforms(), llvm::InstCombiner::commonPointerCastTransforms(), llvm::InstCombiner::commonShiftTransforms(), llvm::ComputeMaskedBits(), llvm::ComputeMultiple(), llvm::ComputeNumSignBits(), ConstantFold(), llvm::ConstantFoldCastInstruction(), llvm::ConstantFoldCompareInstruction(), ConstantFoldGetElementPtrImpl(), llvm::ConstantFoldInstOperands(), llvm::ConstantFoldLoadFromConstPtr(), ConstantFoldLoadInst(), llvm::ConstantFoldLoadThroughGEPConstantExpr(), llvm::ConstantFoldSelectInstruction(), llvm::ConvertDebugDeclareToDebugValue(), ConvertShiftToMul(), createReplacementInstr(), decomposeBitTestICmp(), DecomposeGEPExpression(), DeleteDeadInstruction(), deleteDeadInstruction(), DemandedBitsLHSMask(), detectLog2OfHalf(), llvm::InstCombiner::DoOneIteration(), dyn_castFoldableMul(), emitGlobalConstantArray(), emitGlobalConstantStruct(), emitGlobalConstantVector(), EvaluateExpression(), EvaluateGEPOffsetExpression(), evaluateICmpRelation(), EvaluateStoreInto(), llvm::expandDivision(), llvm::expandDivisionUpTo32Bits(), llvm::expandRemainder(), llvm::expandRemainderUpTo32Bits(), ExtractConstantBytes(), ExtractEquivalentCondition(), FactorizeBinOp(), llvm::FCmpInst::FCmpInst(), FindInitTrampoline(), FindInitTrampolineFromAlloca(), FindInitTrampolineFromBB(), llvm::SelectionDAGBuilder::FindMergedConditions(), FindSingleUseMultiplyFactors(), FindUsedValues(), findUsedValues(), llvm::InstCombiner::FoldAndOfFCmps(), llvm::InstCombiner::FoldAndOfICmps(), llvm::FoldBranchToCommonDest(), llvm::InstCombiner::FoldCmpLoadFromIndexedGlobal(), foldConstantCastPair(), llvm::InstCombiner::FoldFCmp_IntToFP_Cst(), llvm::InstCombiner::foldFMulConst(), llvm::InstCombiner::FoldGEPICmp(), llvm::InstCombiner::FoldICmpDivCst(), llvm::InstCombiner::FoldICmpShrCst(), foldLogOpOfMaskedICmpsHelper(), FoldOperationIntoSelectOperand(), llvm::InstCombiner::FoldOrOfFCmps(), llvm::InstCombiner::FoldOrOfICmps(), foldSelectICmpAnd(), foldSelectICmpAndOr(), foldSelectInst(), llvm::InstCombiner::FoldSelectOpOp(), llvm::InstCombiner::FoldShiftByConstant(), foldUDivShl(), GatherConstantCompares(), llvm::gep_type_begin(), llvm::InsertValueInst::getAggregateOperand(), llvm::GlobalAlias::getAliasedGlobal(), llvm::GlobalAlias::getAliasee(), llvm::CallInst::getArgOperand(), llvm::AllocaInst::getArraySize(), llvm::SwitchInst::CaseIteratorT< SwitchInst, ConstantInt, BasicBlock >::getCaseValue(), getCommonReturnValue(), llvm::AtomicCmpXchgInst::getCompareOperand(), llvm::ExecutionEngine::getConstantValue(), getEdgeValueLocal(), llvm::BinaryOperator::getFNegArgument(), getGEPInductionOperand(), llvm::InsertValueInst::getInsertedValueOperand(), llvm::SCEVExpander::getIVIncOperand(), getLoopPhiForCounter(), getMergedGlobalExpr(), llvm::BinaryOperator::getNegArgument(), llvm::AtomicCmpXchgInst::getNewValOperand(), getNoopInput(), llvm::BinaryOperator::getNotArgument(), GetOffsetFromIndex(), llvm::LoadInst::getPointerOperand(), llvm::StoreInst::getPointerOperand(), llvm::GEPOperator::getPointerOperand(), llvm::AtomicCmpXchgInst::getPointerOperand(), llvm::GetElementPtrInst::getPointerOperand(), llvm::PtrToIntInst::getPointerOperand(), llvm::Constant::getRelocationInfo(), GetShiftedValue(), getShuffleAndOtherOprd(), llvm::ConstantVector::getSplatValue(), llvm::ConstantKeyData< ConstantExpr >::getValType(), llvm::DbgValueInst::getValue(), llvm::StoreInst::getValueOperand(), llvm::ConstantExpr::getWithOperandReplaced(), llvm::ConstantExpr::getWithOperands(), llvm::GetElementPtrInst::hasAllConstantIndices(), llvm::GetElementPtrInst::hasAllZeroIndices(), llvm::Loop::hasLoopInvariantOperands(), llvm::BinaryOperator::init(), insertFastDiv(), InstCombineLoadCast(), InstCombineStoreToCast(), isAllocSiteRemovable(), llvm::AllocaInst::isArrayAllocation(), IsConstantOffsetFromGlobal(), isEliminableCastPair(), isFMulOrFDivWithConstant(), isFormingBranchFromSelectProfitable(), isHighCostExpansion(), llvm::Instruction::isIdenticalToWhenDefined(), llvm::CastInst::isIntegerCast(), isLikelyComplexAddressComputation(), llvm::CastInst::isLosslessCast(), llvm::CastInst::isNoopCast(), llvm::SCEVUnknown::isOffsetOf(), IsPointerOffset(), isProfitableToFoldUnconditional(), isSafeAndProfitableToSinkLoad(), IsSafeComputationToRemove(), isSafeSROAElementUse(), isSafeToEliminateVarargsCast(), llvm::isSafeToSpeculativelyExecute(), isSameCompare(), llvm::Instruction::isSameOperationAs(), isSimpleEnoughValueToCommitHelper(), llvm::Constant::isThreadDependent(), IsUserOfGlobalSafeForSRA(), LdStHasDebugValue(), LinearizeExprTree(), LookThroughFPExtensions(), llvm::SelectionDAGBuilder::LowerCallOperands(), nvptx::LowerConstant(), lowerConstant(), llvm::IntrinsicLowering::LowerIntrinsicCall(), LowerNegateToMultiply(), llvm::Loop::makeLoopInvariant(), llvm::MapValue(), llvm::PatternMatch::BinaryOp_match< LHS_t, RHS_t, Opcode >::match(), llvm::PatternMatch::BinOp2_match< LHS_t, RHS_t, Opc1, Opc2 >::match(), matchPairwiseReduction(), matchPairwiseReductionAtLevel(), MatchSelectPattern(), matchVectorSplittingReduction(), mergeEmptyReturnBlocks(), needsLFTR(), NegateValue(), llvm::constant_iterator::operator*(), OptimizeAwayTrappingUsesOfLoads(), OptimizeCmpExpression(), OptimizeIntegerToVectorInsertions(), OptimizeIntToFloatBitCast(), OptimizeNoopCopyExpression(), ParseGlobalCtors(), PerformHeapAllocSRoA(), llvm::PointerMayBeCaptured(), llvm::AssemblyWriter::printInstruction(), ProcessUAddIdiom(), ProcessUGT_ADDCST_ADD(), llvm::RecursivelyDeleteTriviallyDeadInstructions(), RemapInstruction(), llvm::AliasSetTracker::remove(), RemoveDeadConstant(), RemoveInstInputs(), replaceUsesOfWith(), ReplaceUsesOfWith(), llvm::GlobalVariable::replaceUsesOfWithOnConstant(), llvm::ConstantArray::replaceUsesOfWithOnConstant(), llvm::ConstantStruct::replaceUsesOfWithOnConstant(), llvm::ConstantVector::replaceUsesOfWithOnConstant(), llvm::ConstantExpr::replaceUsesOfWithOnConstant(), llvm::returnTypeIsEligibleForTailCall(), reuseOrInsertFastDiv(), rewriteSingleStoreAlloca(), llvm::NVPTXLowerAggrCopies::runOnFunction(), llvm::UnifyFunctionExitNodes::runOnFunction(), llvm::ExecutionEngine::runStaticConstructorsDestructors(), llvm::FastISel::SelectOperator(), ShouldBreakUpSubtract(), ShrinkDemandedConstant(), SimplifyAssociativeBinOp(), llvm::InstCombiner::SimplifyDivRemOfSelect(), SimplifyICmpInst(), llvm::SimplifyInstruction(), SimplifyWithOpReplaced(), SinkThenElseCodeToEnd(), llvm::InstCombiner::SliceUpIllegalIntegerPHI(), SRAGlobal(), swapMayExposeCSEOpportunities(), SymbolicallyEvaluateGEP(), ThreadBinOpOverSelect(), TryToShrinkGlobalToBoolean(), TryToSimplifyUncondBranchWithICmpInIt(), ValueIsOnlyUsedLocallyOrStoredToOneGlobal(), VerifySubExpr(), llvm::InstCombiner::visitAdd(), llvm::Interpreter::visitAllocaInst(), llvm::InstCombiner::visitAnd(), llvm::InstCombiner::visitAShr(), llvm::Interpreter::visitAShr(), llvm::Interpreter::visitBinaryOperator(), llvm::InstCombiner::visitBitCast(), llvm::Interpreter::visitBitCastInst(), llvm::Interpreter::visitExtractElementInst(), llvm::InstCombiner::visitExtractElementInst(), llvm::InstCombiner::visitFAdd(), llvm::Interpreter::visitFCmpInst(), llvm::InstCombiner::visitFCmpInst(), llvm::InstCombiner::visitFDiv(), llvm::InstCombiner::visitFMul(), llvm::Interpreter::visitFPExtInst(), llvm::InstCombiner::visitFPToSI(), llvm::Interpreter::visitFPToSIInst(), llvm::InstCombiner::visitFPToUI(), llvm::Interpreter::visitFPToUIInst(), llvm::InstCombiner::visitFPTrunc(), llvm::Interpreter::visitFPTruncInst(), llvm::InstCombiner::visitFRem(), llvm::InstCombiner::visitFSub(), llvm::InstCombiner::visitGetElementPtrInst(), llvm::Interpreter::visitICmpInst(), llvm::InstCombiner::visitICmpInst(), llvm::InstCombiner::visitICmpInstWithCastAndCast(), llvm::InstCombiner::visitICmpInstWithInstAndIntCst(), llvm::Interpreter::visitInsertElementInst(), llvm::InstCombiner::visitInsertElementInst(), llvm::Interpreter::visitInsertValueInst(), llvm::InstCombiner::visitIntToPtr(), llvm::Interpreter::visitIntToPtrInst(), llvm::InstCombiner::visitLandingPadInst(), llvm::InstCombiner::visitLoadInst(), llvm::InstCombiner::visitLShr(), llvm::Interpreter::visitLShr(), llvm::InstCombiner::visitMul(), llvm::InstCombiner::visitOr(), llvm::InstCombiner::visitPtrToInt(), llvm::Interpreter::visitPtrToIntInst(), llvm::InstCombiner::visitSDiv(), llvm::Interpreter::visitSelectInst(), llvm::InstCombiner::visitSelectInst(), llvm::InstCombiner::visitSelectInstWithICmp(), llvm::InstCombiner::visitSExt(), llvm::Interpreter::visitSExtInst(), llvm::InstCombiner::visitShl(), llvm::Interpreter::visitShl(), llvm::Interpreter::visitShuffleVectorInst(), llvm::InstCombiner::visitShuffleVectorInst(), llvm::Interpreter::visitSIToFPInst(), llvm::InstCombiner::visitSRem(), llvm::Interpreter::visitStoreInst(), llvm::InstCombiner::visitStoreInst(), llvm::InstCombiner::visitSub(), llvm::InstCombiner::visitSwitchInst(), llvm::InstCombiner::visitTrunc(), llvm::Interpreter::visitTruncInst(), llvm::InstCombiner::visitUDiv(), llvm::Interpreter::visitUIToFPInst(), llvm::InstCombiner::visitURem(), llvm::Interpreter::visitVAArgInst(), llvm::InstCombiner::visitXor(), llvm::InstCombiner::visitZExt(), llvm::Interpreter::visitZExtInst(), WriteConstants(), and WriteInstruction().
Definition at line 99 of file User.h.
References NumOperands, and OperandList.
Referenced by ConstructSSAForLoadSet(), and llvm::InstCombiner::visitICmpInst().
Definition at line 103 of file User.h.
References NumOperands, and OperandList.
|
inlineprotected |
Definition at line 81 of file User.h.
Referenced by llvm::CallInst::getCalledFunction(), llvm::CallInst::getCalledValue(), llvm::ConstantExpr::getWithOperandReplaced(), llvm::CallInst::isInlineAsm(), llvm::PHINode::removeIncomingValue(), llvm::ConstantExpr::replaceUsesOfWithOnConstant(), llvm::CallInst::setCalledFunction(), and llvm::BranchInst::swapSuccessors().
|
inlineprotected |
|
inline |
Definition at line 116 of file User.h.
References OperandList.
Referenced by llvm::AddLandingPadInfo(), AddReachableCodeToWorklist(), areAllUsesIn(), llvm::objcarc::CanUse(), changeToCall(), llvm::ConstantArray::ConstantArray(), ConstantFoldConstantExpressionImpl(), llvm::ConstantFoldInstruction(), llvm::ConstantStruct::ConstantStruct(), llvm::ConstantVector::ConstantVector(), createReplacementInstr(), DecomposeGEPExpression(), DeleteTriviallyDeadInstructions(), DominatesMergePoint(), dropAllReferences(), llvm::EliminateDuplicatePHINodes(), llvm::EmitGEPOffset(), llvm::InstCombiner::EraseInstFromFunction(), llvm::FoldBranchToCommonDest(), FoldCondBranchOnPHI(), llvm::FoldReturnIntoUncondBranch(), llvm::gep_type_begin(), llvm::ConstantExpr::getAsInstruction(), getConstantEvolvingPHIOperands(), llvm::SCEVExpander::getIVIncOperand(), getNoopInput(), hasConcreteDefImpl(), hasMultipleUsesOf(), llvm::GEPOperator::idx_begin(), llvm::GetElementPtrInst::idx_begin(), llvm::ConstantExpr::isGEPWithNoNotionalOverIndexing(), ParseGlobalCtors(), llvm::RemapInstruction(), llvm::PHINode::removeIncomingValue(), llvm::BitcodeReaderValueList::ResolveConstantForwardRefs(), llvm::TypeFinder::run(), llvm::FindUsedTypes::runOnModule(), llvm::SimplifyInstruction(), SpeculativelyExecuteBB(), value_op_begin(), and llvm::InstCombiner::visitGetElementPtrInst().
|
inline |
Definition at line 117 of file User.h.
References OperandList.
|
inline |
Definition at line 118 of file User.h.
References NumOperands, and OperandList.
Referenced by llvm::AddLandingPadInfo(), AddReachableCodeToWorklist(), areAllUsesIn(), llvm::objcarc::CanUse(), changeToCall(), ConstantFoldConstantExpressionImpl(), llvm::ConstantFoldInstruction(), createReplacementInstr(), DecomposeGEPExpression(), DeleteTriviallyDeadInstructions(), DominatesMergePoint(), dropAllReferences(), llvm::EliminateDuplicatePHINodes(), llvm::EmitGEPOffset(), llvm::InstCombiner::EraseInstFromFunction(), llvm::FoldBranchToCommonDest(), FoldCondBranchOnPHI(), llvm::FoldReturnIntoUncondBranch(), llvm::gep_type_end(), llvm::ConstantExpr::getAsInstruction(), getConstantEvolvingPHIOperands(), llvm::SCEVExpander::getIVIncOperand(), getNoopInput(), hasConcreteDefImpl(), hasMultipleUsesOf(), llvm::GEPOperator::idx_end(), llvm::GetElementPtrInst::idx_end(), ParseGlobalCtors(), llvm::RemapInstruction(), llvm::PHINode::removeIncomingValue(), llvm::BitcodeReaderValueList::ResolveConstantForwardRefs(), llvm::TypeFinder::run(), llvm::FindUsedTypes::runOnModule(), llvm::SimplifyInstruction(), SpeculativelyExecuteBB(), value_op_end(), and llvm::InstCombiner::visitGetElementPtrInst().
|
inline |
Definition at line 119 of file User.h.
References NumOperands, and OperandList.
void llvm::User::operator delete | ( | void * | Usr | ) |
operator delete - free memory allocated for User and Use objects
Definition at line 74 of file User.cpp.
References NumOperands.
|
inline |
placement delete - required by std, but never called.
Definition at line 68 of file User.h.
References llvm_unreachable.
placement delete - required by std, but never called.
Definition at line 72 of file User.h.
References llvm_unreachable.
|
protected |
Definition at line 59 of file User.cpp.
References llvm::Use::initTags(), NumOperands, and OperandList.
|
inlinestaticprotected |
replaceUsesOfWith - Replaces all references to the "From" definition with references to the "To" definition.
Definition at line 26 of file User.cpp.
References getNumOperands(), getOperand(), and setOperand().
Referenced by llvm::DemoteRegToStack(), llvm::FoldBranchToCommonDest(), OptimizeGlobalAddressOfMalloc(), and ReplaceUsesOfMallocWithGlobal().
Definition at line 92 of file User.h.
References NumOperands, and OperandList.
Referenced by BreakUpSubtract(), llvm::InstCombiner::commonIDivTransforms(), llvm::InstCombiner::commonIRemTransforms(), llvm::InstCombiner::commonPointerCastTransforms(), llvm::InstCombiner::commonShiftTransforms(), ConvertShiftToMul(), DeleteDeadInstruction(), deleteDeadInstruction(), llvm::InstCombiner::FoldICmpDivCst(), llvm::InstCombiner::FoldICmpShrCst(), llvm::FoldReturnIntoUncondBranch(), llvm::InstCombiner::FoldShiftByConstant(), GetShiftedValue(), llvm::InlineFunction(), InstCombineStoreToCast(), LinearizeExprTree(), LowerNegateToMultiply(), mergeEmptyReturnBlocks(), NegateValue(), llvm::RecursivelyDeleteTriviallyDeadInstructions(), RemapInstruction(), replaceUsesOfWith(), llvm::GlobalVariable::replaceUsesOfWithOnConstant(), llvm::ConstantArray::replaceUsesOfWithOnConstant(), llvm::ConstantStruct::replaceUsesOfWithOnConstant(), llvm::BlockAddress::replaceUsesOfWithOnConstant(), llvm::GlobalAlias::setAliasee(), llvm::CallInst::setArgOperand(), llvm::Function::setPrefixData(), llvm::SwitchInst::CaseIt::setValue(), ShrinkDemandedConstant(), llvm::InstCombiner::SimplifyDivRemOfSelect(), SinkThenElseCodeToEnd(), SpeculativelyExecuteBB(), TryToSimplifyUncondBranchWithICmpInIt(), llvm::InstCombiner::visitAllocaInst(), llvm::InstCombiner::visitExtractElementInst(), llvm::InstCombiner::visitFCmpInst(), llvm::InstCombiner::visitGetElementPtrInst(), llvm::InstCombiner::visitICmpInst(), llvm::InstCombiner::visitICmpInstWithInstAndIntCst(), llvm::InstCombiner::visitLoadInst(), llvm::InstCombiner::visitSelectInst(), llvm::InstCombiner::visitSelectInstWithICmp(), llvm::InstCombiner::visitShuffleVectorInst(), llvm::InstCombiner::visitSRem(), llvm::InstCombiner::visitStoreInst(), and llvm::InstCombiner::visitXor().
|
inline |
Definition at line 153 of file User.h.
References op_begin().
|
inline |
|
friend |
|
protected |
NumOperands - The number of values used by this User.
Definition at line 49 of file User.h.
Referenced by llvm::SwitchInst::addCase(), llvm::LandingPadInst::addClause(), llvm::IndirectBrInst::addDestination(), dropHungoffUses(), getNumOperands(), getOperand(), getOperandUse(), op_end(), operator delete(), operator new(), llvm::PHINode::removeIncomingValue(), llvm::GlobalVariable::setInitializer(), setOperand(), llvm::GlobalVariable::~GlobalVariable(), and ~User().
|
protected |
OperandList - This is a pointer to the array of Uses for this User. For nodes of fixed arity (e.g. a binary operator) this array will live prefixed to some derived class instance. For nodes of resizable variable arity (e.g. PHINodes, SwitchInst etc.), this memory will be dynamically allocated and should be destroyed by the classes' virtual dtor.
Definition at line 45 of file User.h.
Referenced by llvm::LandingPadInst::addClause(), dropHungoffUses(), getOperand(), getOperandUse(), llvm::HungoffOperandTraits< 2 >::op_begin(), op_begin(), llvm::HungoffOperandTraits< 2 >::op_end(), op_end(), operator new(), llvm::SwitchInst::removeCase(), llvm::IndirectBrInst::removeDestination(), llvm::ConstantArray::replaceUsesOfWithOnConstant(), llvm::ConstantStruct::replaceUsesOfWithOnConstant(), setOperand(), and ~User().