LLVM API Documentation
#include <User.h>
typedef const Use* llvm::User::const_op_iterator |
typedef Use* llvm::User::op_iterator |
llvm::User::~User | ( | ) | [inline] |
Definition at line 64 of file User.h.
References NumOperands, OperandList, and llvm::Use::zap().
Use * llvm::User::allocHungoffUses | ( | unsigned | N | ) | const [protected] |
Reimplemented in llvm::PHINode.
Definition at line 45 of file User.cpp.
References llvm::Use::initTags().
static bool llvm::User::classof | ( | const Value * | V | ) | [inline, static] |
Reimplemented in llvm::AddrSpaceCastInst, llvm::BitCastInst, llvm::PtrToIntInst, llvm::IntToPtrInst, llvm::FPToSIInst, llvm::FPToUIInst, llvm::SIToFPInst, llvm::UIToFPInst, llvm::FPExtInst, llvm::FPTruncInst, llvm::SExtInst, llvm::ZExtInst, llvm::TruncInst, llvm::UnreachableInst, llvm::ResumeInst, llvm::InvokeInst, llvm::IndirectBrInst, llvm::SwitchInst, llvm::BranchInst, llvm::ReturnInst, llvm::LandingPadInst, llvm::PHINode, llvm::InsertValueInst, llvm::ExtractValueInst, llvm::ShuffleVectorInst, llvm::InsertElementInst, llvm::ExtractElementInst, llvm::VAArgInst, llvm::SelectInst, llvm::CallInst, llvm::FCmpInst, llvm::UndefValue, llvm::ConstantExpr, llvm::ICmpInst, llvm::GetElementPtrInst, llvm::CmpInst, llvm::BlockAddress, llvm::AtomicRMWInst, llvm::ConstantDataVector, llvm::ConstantDataArray, llvm::CastInst, llvm::ConstantDataSequential, llvm::AtomicCmpXchgInst, llvm::ConstantPointerNull, llvm::ConstantVector, llvm::Function, llvm::FenceInst, llvm::ConstantStruct, llvm::Instruction, llvm::StoreInst, llvm::BinaryOperator, llvm::ConstantArray, llvm::GlobalValue, llvm::ConcreteOperator< PossiblyExactOperator, Instruction::SDiv >, llvm::ConcreteOperator< OverflowingBinaryOperator, Instruction::Add >, llvm::ConcreteOperator< OverflowingBinaryOperator, Instruction::Sub >, llvm::ConcreteOperator< OverflowingBinaryOperator, Instruction::Shl >, llvm::ConcreteOperator< PossiblyExactOperator, Instruction::UDiv >, llvm::ConcreteOperator< PossiblyExactOperator, Instruction::LShr >, llvm::ConcreteOperator< Operator, Instruction::GetElementPtr >, llvm::ConcreteOperator< PossiblyExactOperator, Instruction::AShr >, llvm::ConcreteOperator< OverflowingBinaryOperator, Instruction::Mul >, llvm::ConcreteOperator< Operator, Instruction::PtrToInt >, llvm::ConstantAggregateZero, llvm::FPMathOperator, llvm::VACopyInst, llvm::VAEndInst, llvm::VAStartInst, llvm::ConstantFP, llvm::MemMoveInst, llvm::LoadInst, llvm::MemCpyInst, llvm::MemTransferInst, llvm::ConstantInt, llvm::MemSetInst, llvm::MemIntrinsic, llvm::GlobalVariable, llvm::PossiblyExactOperator, llvm::AllocaInst, llvm::Constant, llvm::OverflowingBinaryOperator, llvm::UnaryInstruction, llvm::GlobalAlias, llvm::DbgValueInst, llvm::DbgDeclareInst, llvm::TerminatorInst, llvm::DbgInfoIntrinsic, llvm::Operator, llvm::GlobalObject, and llvm::IntrinsicInst.
void llvm::User::dropAllReferences | ( | ) | [inline] |
Reimplemented in llvm::Function.
Definition at line 161 of file User.h.
References operands().
Referenced by llvm::expandDivision(), llvm::expandDivisionUpTo32Bits(), llvm::expandDivisionUpTo64Bits(), llvm::expandRemainder(), llvm::expandRemainderUpTo32Bits(), and llvm::expandRemainderUpTo64Bits().
void llvm::User::dropHungoffUses | ( | ) | [inline, protected] |
Definition at line 57 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().
unsigned llvm::User::getNumOperands | ( | ) | const [inline] |
Definition at line 110 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(), computeKnownBits(), llvm::constant_iterator::constant_iterator(), llvm::ConstantExprKeyType::ConstantExprKeyType(), 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(), GEPToVectorIndex(), 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::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(), 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++(), llvm::ConstantExprKeyType::operator==(), 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(), stripGetElementPtr(), upgradeGlobalArray(), ValueIsOnlyUsedLocallyOrStoredToOneGlobal(), VerifySubExpr(), llvm::InstCombiner::visitGetElementPtrInst(), llvm::Interpreter::visitReturnInst(), llvm::InstCombiner::visitReturnInst(), WriteConstants(), and WriteInstruction().
Value* llvm::User::getOperand | ( | unsigned | i | ) | const [inline] |
Definition at line 90 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(), canFoldZeroCheckIntoBranch(), llvm::CannotBeNegativeZero(), CanPHITrans(), CheapToScalarize(), checkForNegativeOperand(), 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(), computeKnownBits(), llvm::ComputeMultiple(), ComputeNumSignBits(), llvm::ConstantExprKeyType::ConstantExprKeyType(), ConstantFold(), llvm::ConstantFoldCompareInstruction(), llvm::ConstantFoldLoadFromConstPtr(), ConstantFoldLoadInst(), ConstantFoldLoadThroughBitcast(), llvm::ConstantFoldLoadThroughGEPConstantExpr(), llvm::ConstantFoldSelectInstruction(), llvm::ConvertDebugDeclareToDebugValue(), ConvertShiftToMul(), createReplacementInstr(), decomposeBitTestICmp(), DecomposeGEPExpression(), DeleteDeadInstruction(), deleteDeadInstruction(), DemandedBitsLHSMask(), detectLog2OfHalf(), llvm::InstCombiner::DoOneIteration(), emitGlobalConstantArray(), emitGlobalConstantStruct(), emitGlobalConstantVector(), EvaluateExpression(), EvaluateGEPOffsetExpression(), evaluateICmpRelation(), EvaluateStoreInto(), llvm::expandDivision(), llvm::expandDivisionUpTo32Bits(), llvm::expandDivisionUpTo64Bits(), llvm::expandRemainder(), llvm::expandRemainderUpTo32Bits(), llvm::expandRemainderUpTo64Bits(), ExtractConstantBytes(), ExtractEquivalentCondition(), 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(), GEPToVectorIndex(), llvm::InsertValueInst::getAggregateOperand(), llvm::GlobalAlias::getAliasee(), llvm::CallInst::getArgOperand(), llvm::AllocaInst::getArraySize(), getBinOpsForFactorization(), llvm::SwitchInst::CaseIteratorT< SwitchInst, ConstantInt, BasicBlock >::getCaseValue(), getCommonReturnValue(), llvm::AtomicCmpXchgInst::getCompareOperand(), 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::PtrToIntOperator::getPointerOperand(), llvm::AtomicCmpXchgInst::getPointerOperand(), llvm::GetElementPtrInst::getPointerOperand(), llvm::PtrToIntInst::getPointerOperand(), llvm::Constant::getRelocationInfo(), GetShiftedValue(), getShuffleAndOtherOprd(), llvm::ScalarEvolution::getSignedRange(), llvm::ConstantVector::getSplatValue(), llvm::BasicBlock::getTerminatingMustTailCall(), llvm::ScalarEvolution::getUnsignedRange(), llvm::DbgValueInst::getValue(), getValueFromFromCondition(), llvm::StoreInst::getValueOperand(), getWideOperand(), llvm::ConstantExpr::getWithOperandReplaced(), llvm::ConstantExpr::getWithOperands(), llvm::GetElementPtrInst::hasAllConstantIndices(), llvm::GetElementPtrInst::hasAllZeroIndices(), llvm::Loop::hasLoopInvariantOperands(), hoistBeforePos(), llvm::BinaryOperator::init(), insertFastDiv(), InstCombineLoadCast(), InstCombineStoreToCast(), isAllocSiteRemovable(), llvm::AllocaInst::isArrayAllocation(), IsConstantOffsetFromGlobal(), isEliminableCastPair(), isExtractBitsCandidateUse(), isFMulOrFDivWithConstant(), isFormingBranchFromSelectProfitable(), isHighCostExpansion(), llvm::CastInst::isIntegerCast(), isInterestingPointerComparisonOrSubtraction(), isLikelyComplexAddressComputation(), llvm::CastInst::isLosslessCast(), llvm::CastInst::isNoopCast(), IsPointerOffset(), isProfitableToFoldUnconditional(), isSafeAndProfitableToSinkLoad(), IsSafeComputationToRemove(), isSafeSROAElementUse(), isSafeToEliminateVarargsCast(), llvm::isSafeToSpeculativelyExecute(), isSameCompare(), llvm::Instruction::isSameOperationAs(), isSimpleEnoughValueToCommitHelper(), isStrideMul(), IsUserOfGlobalSafeForSRA(), LdStHasDebugValue(), LinearizeExprTree(), LookThroughFPExtensions(), llvm::SelectionDAGBuilder::LowerCallOperands(), llvm::FastISel::lowerCallTo(), 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*(), llvm::ConstantExprKeyType::operator==(), OptimizeAwayTrappingUsesOfLoads(), OptimizeCmpExpression(), llvm::FastISel::optimizeCmpPredicate(), OptimizeExtractBits(), OptimizeIntegerToVectorInsertions(), OptimizeIntToFloatBitCast(), OptimizeNoopCopyExpression(), PerformHeapAllocSRoA(), llvm::PointerMayBeCaptured(), llvm::AssemblyWriter::printInstruction(), ProcessUAddIdiom(), ProcessUGT_ADDCST_ADD(), ProcessUMulZExtIdiom(), llvm::RecursivelyDeleteTriviallyDeadInstructions(), RemapInstruction(), llvm::AliasSetTracker::remove(), RemoveDeadConstant(), RemoveInstInputs(), replaceUsesOfWith(), ReplaceUsesOfWith(), llvm::GlobalVariable::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::selectBinaryOp(), llvm::FastISel::selectBitCast(), llvm::FastISel::selectCast(), llvm::FastISel::selectExtractValue(), llvm::FastISel::selectGetElementPtr(), llvm::FastISel::selectOperator(), llvm::FastISel::selectPatchpoint(), llvm::FastISel::selectStackmap(), ShouldBreakUpSubtract(), ShrinkDemandedConstant(), SimplifyAndOfICmps(), SimplifyAssociativeBinOp(), llvm::InstCombiner::SimplifyDivRemOfSelect(), SimplifyICmpInst(), llvm::SimplifyInstruction(), SimplifyOrOfICmps(), SimplifyWithOpReplaced(), SinkCast(), SinkShiftAndTruncate(), SinkThenElseCodeToEnd(), llvm::InstCombiner::SliceUpIllegalIntegerPHI(), SRAGlobal(), stripGetElementPtr(), swapMayExposeCSEOpportunities(), SymbolicallyEvaluateGEP(), ThreadBinOpOverSelect(), tryFactorization(), tryPromoteAllocaToVector(), TryToShrinkGlobalToBoolean(), TryToSimplifyUncondBranchWithICmpInIt(), upgradeGlobalArray(), ValueIsOnlyUsedLocallyOrStoredToOneGlobal(), VerifySubExpr(), llvm::InstCombiner::visitAdd(), llvm::InstCombiner::visitAddrSpaceCast(), 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::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::visitReturnInst(), 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().
const Use& llvm::User::getOperandUse | ( | unsigned | i | ) | const [inline] |
Definition at line 101 of file User.h.
References NumOperands, and OperandList.
Referenced by ConstructSSAForLoadSet(), llvm::CallInst::getArgOperandUse(), processInstruction(), and llvm::InstCombiner::visitICmpInst().
Use& llvm::User::getOperandUse | ( | unsigned | i | ) | [inline] |
Definition at line 105 of file User.h.
References NumOperands, and OperandList.
Use& llvm::User::Op | ( | ) | [inline, protected] |
Definition at line 83 of file User.h.
Referenced by llvm::CallInst::getCalledFunction(), llvm::CallInst::getCalledValue(), llvm::ConstantExpr::getWithOperandReplaced(), llvm::CallInst::isInlineAsm(), llvm::ShuffleVectorInst::isValidOperands(), llvm::PHINode::removeIncomingValue(), llvm::ConstantExpr::replaceUsesOfWithOnConstant(), llvm::CallInst::setCalledFunction(), and llvm::BranchInst::swapSuccessors().
const Use& llvm::User::Op | ( | ) | const [inline, protected] |
op_iterator llvm::User::op_begin | ( | ) | [inline] |
Definition at line 120 of file User.h.
References OperandList.
Referenced by llvm::AddLandingPadInfo(), AddReachableCodeToWorklist(), areAllUsesIn(), llvm::CallInst::arg_operands(), callHasFloatingPointArgument(), llvm::objcarc::CanUse(), changeToCall(), llvm::ConstantArray::ConstantArray(), ConstantFoldConstantExpressionImpl(), llvm::ConstantFoldInstruction(), llvm::ConstantStruct::ConstantStruct(), llvm::ConstantVector::ConstantVector(), createReplacementInstr(), DecomposeGEPExpression(), DeleteTriviallyDeadInstructions(), DominatesMergePoint(), llvm::EliminateDuplicatePHINodes(), llvm::EmitGEPOffset(), llvm::InstCombiner::EraseInstFromFunction(), FoldCondBranchOnPHI(), llvm::FoldReturnIntoUncondBranch(), llvm::gep_type_begin(), llvm::ConstantExpr::getAsInstruction(), getConstantEvolvingPHIOperands(), llvm::SCEVExpander::getIVIncOperand(), getNoopInput(), llvm::Use::getOperandNo(), hasConcreteDefImpl(), hasMultipleUsesOf(), llvm::GEPOperator::idx_begin(), llvm::GetElementPtrInst::idx_begin(), llvm::ConstantExpr::isGEPWithNoNotionalOverIndexing(), llvm::Instruction::isIdenticalToWhenDefined(), operands(), OpFrom(), llvm::RemapInstruction(), llvm::PHINode::removeIncomingValue(), llvm::BitcodeReaderValueList::ResolveConstantForwardRefs(), llvm::TypeFinder::run(), llvm::FindUsedTypes::runOnModule(), llvm::FastISel::selectGetElementPtr(), llvm::SimplifyInstruction(), SpeculativelyExecuteBB(), value_op_begin(), and llvm::InstCombiner::visitGetElementPtrInst().
const_op_iterator llvm::User::op_begin | ( | ) | const [inline] |
Definition at line 121 of file User.h.
References OperandList.
op_iterator llvm::User::op_end | ( | ) | [inline] |
Definition at line 122 of file User.h.
References NumOperands, and OperandList.
Referenced by llvm::AddLandingPadInfo(), AddReachableCodeToWorklist(), areAllUsesIn(), llvm::CallInst::arg_operands(), callHasFloatingPointArgument(), llvm::objcarc::CanUse(), changeToCall(), ConstantFoldConstantExpressionImpl(), llvm::ConstantFoldInstruction(), createReplacementInstr(), DecomposeGEPExpression(), DeleteTriviallyDeadInstructions(), DominatesMergePoint(), llvm::EliminateDuplicatePHINodes(), llvm::EmitGEPOffset(), llvm::InstCombiner::EraseInstFromFunction(), 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(), llvm::Instruction::isIdenticalToWhenDefined(), operands(), OpFrom(), llvm::RemapInstruction(), llvm::PHINode::removeIncomingValue(), llvm::BitcodeReaderValueList::ResolveConstantForwardRefs(), llvm::TypeFinder::run(), llvm::FindUsedTypes::runOnModule(), llvm::FastISel::selectGetElementPtr(), llvm::SimplifyInstruction(), SpeculativelyExecuteBB(), value_op_end(), and llvm::InstCombiner::visitGetElementPtrInst().
const_op_iterator llvm::User::op_end | ( | ) | const [inline] |
Definition at line 123 of file User.h.
References NumOperands, and OperandList.
iterator_range<value_op_iterator> llvm::User::operand_values | ( | ) | [inline] |
Definition at line 149 of file User.h.
References value_op_begin(), and value_op_end().
Referenced by findCallees().
op_range llvm::User::operands | ( | ) | [inline] |
Definition at line 124 of file User.h.
References op_begin(), and op_end().
Referenced by ConstHasGlobalValuePredicate(), contains(), llvm::InstCombiner::DoOneIteration(), dropAllReferences(), upgradeGlobalArray(), and llvm::InstCombiner::visitGetElementPtrInst().
const_op_range llvm::User::operands | ( | ) | const [inline] |
Definition at line 127 of file User.h.
References op_begin(), and op_end().
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.
void llvm::User::operator delete | ( | void * | , |
unsigned | |||
) | [inline] |
placement delete - required by std, but never called.
Definition at line 70 of file User.h.
References llvm_unreachable.
placement delete - required by std, but never called.
Definition at line 74 of file User.h.
References llvm_unreachable.
void * llvm::User::operator new | ( | size_t | s, |
unsigned | Us | ||
) | [protected] |
Definition at line 59 of file User.cpp.
References llvm::Use::initTags(), NumOperands, and OperandList.
static Use& llvm::User::OpFrom | ( | const U * | that | ) | [inline, static, protected] |
Definition at line 78 of file User.h.
References op_begin(), and op_end().
void llvm::User::replaceUsesOfWith | ( | Value * | From, |
Value * | To | ||
) |
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(), llvm::InstCombiner::FoldSPFofSPF(), OptimizeGlobalAddressOfMalloc(), and ReplaceUsesOfMallocWithGlobal().
void llvm::User::setOperand | ( | unsigned | i, |
Value * | Val | ||
) | [inline] |
Definition at line 94 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(), GetShiftedValue(), llvm::InlineFunction(), InstCombineStoreToCast(), LinearizeExprTree(), LowerNegateToMultiply(), mergeEmptyReturnBlocks(), NegateValue(), ProcessUMulZExtIdiom(), llvm::RecursivelyDeleteTriviallyDeadInstructions(), RemapInstruction(), replaceUsesOfWith(), llvm::GlobalVariable::replaceUsesOfWithOnConstant(), llvm::BlockAddress::replaceUsesOfWithOnConstant(), llvm::GlobalAlias::setAliasee(), llvm::CallInst::setArgOperand(), llvm::Function::setPrefixData(), llvm::SwitchInst::CaseIt::setValue(), ShrinkDemandedConstant(), llvm::InstCombiner::SimplifyDivRemOfSelect(), SinkThenElseCodeToEnd(), SpeculativelyExecuteBB(), TryToSimplifyUncondBranchWithICmpInIt(), updateOperand(), llvm::InstCombiner::visitAllocaInst(), llvm::InstCombiner::visitExtractElementInst(), llvm::InstCombiner::visitFCmpInst(), llvm::InstCombiner::visitGetElementPtrInst(), llvm::InstCombiner::visitICmpInst(), llvm::InstCombiner::visitICmpInstWithInstAndIntCst(), llvm::InstCombiner::visitLoadInst(), llvm::InstCombiner::visitReturnInst(), llvm::InstCombiner::visitSelectInst(), llvm::InstCombiner::visitSelectInstWithICmp(), llvm::InstCombiner::visitShuffleVectorInst(), llvm::InstCombiner::visitSRem(), llvm::InstCombiner::visitStoreInst(), and llvm::InstCombiner::visitXor().
value_op_iterator llvm::User::value_op_begin | ( | ) | [inline] |
value_op_iterator llvm::User::value_op_end | ( | ) | [inline] |
friend struct HungoffOperandTraits [friend] |
unsigned llvm::User::NumOperands [protected] |
NumOperands - The number of values used by this User.
Definition at line 44 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().
Use* llvm::User::OperandList [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 51 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(), llvm::ConstantVector::replaceUsesOfWithOnConstant(), llvm::ConstantExpr::replaceUsesOfWithOnConstant(), setOperand(), and ~User().