LLVM API Documentation

Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

llvm::User Class Reference

#include <User.h>

Inheritance diagram for llvm::User:

Inheritance graph
[legend]
Collaboration diagram for llvm::User:

Collaboration graph
[legend]
List of all members.

Public Types

typedef Useop_iterator
typedef const Useconst_op_iterator

Public Member Functions

 ~User ()
void operator delete (void *Usr)
 operator delete - free memory allocated for User and Use objects
void operator delete (void *, unsigned)
 placement delete - required by std, but never called.
template<unsigned Idx>
UseOp ()
template<unsigned Idx>
const UseOp () const
ValuegetOperand (unsigned i) const
void setOperand (unsigned i, Value *Val)
unsigned getNumOperands () const
op_iterator op_begin ()
const_op_iterator op_begin () const
op_iterator op_end ()
const_op_iterator op_end () const
void dropAllReferences ()
void replaceUsesOfWith (Value *From, Value *To)

Static Public Member Functions

bool classof (const User *)
bool classof (const Value *V)

Protected Member Functions

void * operator new (size_t s, unsigned Us)
 User (const Type *ty, unsigned vty, Use *OpList, unsigned NumOps)
UseallocHungoffUses (unsigned) const
void dropHungoffUses (Use *U)

Protected Attributes

UseOperandList
unsigned NumOperands

Friends

struct HungoffOperandTraits

Member Typedef Documentation

typedef const Use* llvm::User::const_op_iterator
 

Definition at line 106 of file User.h.

Referenced by getShuffleMask(), llvm::simplify_type< User::const_op_iterator >::getSimplifiedValue(), llvm::SelectionDAGLowering::getValue(), llvm::ValueEnumerator::incorporateFunction(), IsConstantOffsetFromGlobal(), op_begin(), op_end(), llvm::FindUsedTypes::runOnModule(), llvm::ValueEnumerator::ValueEnumerator(), and WriteConstantInt().

typedef Use* llvm::User::op_iterator
 

Definition at line 105 of file User.h.

Referenced by InstCombiner::AddSoonDeadInstToWorklist(), InstCombiner::AddUsesToWorkList(), llvm::ConstantFoldConstantExpression(), llvm::ConstantFoldInstruction(), DominatesMergePoint(), InstCombiner::DoOneIteration(), dropAllReferences(), EmitGEPOffset(), EnforceKnownAlignment(), ErasePossiblyDeadInstructionTree(), EvaluateFunction(), EvaluateStoreInto(), FoldCondBranchOnPHI(), llvm::simplify_type< User::op_iterator >::getSimplifiedValue(), llvm::MapValue(), OnlyCalledDirectly(), op_begin(), op_end(), OptimizeAwayTrappingUsesOfValue(), OptimizeOnceStoredGlobal(), ParseGlobalCtors(), llvm::RemapInstruction(), llvm::BitcodeReaderValueList::ResolveConstantForwardRefs(), DCE::runOnFunction(), AAEval::runOnFunction(), llvm::SimplifyCFG(), SpeculativelyExecuteBB(), and InstCombiner::visitGetElementPtrInst().


Constructor & Destructor Documentation

llvm::User::User const Type ty,
unsigned  vty,
Use OpList,
unsigned  NumOps
[inline, protected]
 

Definition at line 66 of file User.h.

llvm::User::~User  )  [inline]
 

Definition at line 77 of file User.h.


Member Function Documentation

Use * llvm::User::allocHungoffUses unsigned   )  const [protected]
 

Definition at line 153 of file Use.cpp.

References llvm::addTag(), and llvm::tagOne.

Referenced by llvm::BitcodeReaderValueList::resize().

bool llvm::User::classof const Value V  )  [inline, static]
 

Reimplemented from llvm::Value.

Reimplemented in llvm::Constant, llvm::ConstantInt, llvm::ConstantFP, llvm::ConstantAggregateZero, llvm::ConstantArray, llvm::ConstantStruct, llvm::ConstantVector, llvm::ConstantPointerNull, llvm::ConstantExpr, llvm::UndefValue, llvm::Function, llvm::GlobalAlias, llvm::GlobalValue, llvm::GlobalVariable, llvm::TerminatorInst, llvm::UnaryInstruction, llvm::BinaryOperator, llvm::CastInst, llvm::CmpInst, llvm::Instruction, llvm::AllocationInst, llvm::MallocInst, llvm::AllocaInst, llvm::FreeInst, llvm::LoadInst, llvm::StoreInst, llvm::GetElementPtrInst, llvm::ICmpInst, llvm::FCmpInst, llvm::VICmpInst, llvm::VFCmpInst, llvm::CallInst, llvm::SelectInst, llvm::VAArgInst, llvm::ExtractElementInst, llvm::InsertElementInst, llvm::ShuffleVectorInst, llvm::ExtractValueInst, llvm::InsertValueInst, llvm::PHINode, llvm::ReturnInst, llvm::BranchInst, llvm::SwitchInst, llvm::InvokeInst, llvm::UnwindInst, llvm::UnreachableInst, llvm::TruncInst, llvm::ZExtInst, llvm::SExtInst, llvm::FPTruncInst, llvm::FPExtInst, llvm::UIToFPInst, llvm::SIToFPInst, llvm::FPToUIInst, llvm::FPToSIInst, llvm::IntToPtrInst, llvm::PtrToIntInst, llvm::BitCastInst, llvm::IntrinsicInst, llvm::DbgInfoIntrinsic, llvm::DbgStopPointInst, llvm::DbgFuncStartInst, llvm::DbgRegionStartInst, llvm::DbgRegionEndInst, llvm::DbgDeclareInst, llvm::MemIntrinsic, llvm::MemCpyInst, llvm::MemMoveInst, llvm::MemSetInst, llvm::ConstantPlaceHolder, and DummyInst.

Definition at line 133 of file User.h.

bool llvm::User::classof const User  )  [inline, static]
 

Definition at line 132 of file User.h.

void llvm::User::dropAllReferences  )  [inline]
 

Reimplemented in llvm::Function.

Definition at line 121 of file User.h.

References op_iterator, and llvm::Use::set().

void llvm::User::dropHungoffUses Use U  )  [inline, protected]
 

Definition at line 69 of file User.h.

References llvm::Use::getImpliedUser().

Referenced by llvm::PHINode::~PHINode(), and llvm::SwitchInst::~SwitchInst().

unsigned llvm::User::getNumOperands  )  const [inline]
 

Definition at line 100 of file User.h.

Referenced by addCatchInfo(), llvm::MachineModuleInfo::AnalyzeModule(), DIDeserializeVisitor::Apply(), BitCastConstantVector(), CalculateParameterAndLinkageAreaSize(), FPrintFOpt::CallOptimizer(), SPrintFOpt::CallOptimizer(), PrintFOpt::CallOptimizer(), llvm::Constant::canTrap(), CheapToScalarize(), llvm::InvokeInst::clone(), llvm::BranchInst::clone(), llvm::ReturnInst::clone(), llvm::SelectInst::clone(), llvm::CallInst::clone(), llvm::GetElementPtrInst::clone(), llvm::CloneLoop(), InstCombiner::commonIntCastTransforms(), llvm::ComputeMaskedBits(), llvm::ConstantFoldCastInstruction(), llvm::ConstantFoldGetElementPtr(), llvm::ConstantFoldInsertElementInstruction(), llvm::ConstantFoldInsertValueInstruction(), PruningFunctionCloner::ConstantFoldMappedInstruction(), llvm::Constant::ContainsRelocations(), llvm::ConvertConstantType< ConstantVector, VectorType >::convert(), llvm::ConvertConstantType< ConstantStruct, StructType >::convert(), llvm::ConvertConstantType< ConstantArray, ArrayType >::convert(), llvm::InsertElementInst::Create(), DSE::DeleteDeadInstructionChains(), SimpleInliner::doInitialization(), InstCombiner::DoOneIteration(), llvm::AsmPrinter::EmitGlobalConstant(), llvm::X86IntelAsmPrinter::EmitString(), llvm::AsmPrinter::EmitString(), EraseDeadInstructions(), EvaluateExpression(), EvaluateFunction(), EvaluateGEPOffsetExpression(), evaluateICmpRelation(), EvaluateStoreInto(), FindMaximalLegalAddressingMode(), FindStaticTors(), FoldBitCast(), InstCombiner::FoldGEPICmp(), InstCombiner::FoldSelectOpOp(), GetAddressedElementFromGlobal(), getAggregateConstantElement(), llvm::ConstantArray::getAsString(), MSILWriter::getCallSignature(), getConstantEvolvingPHI(), llvm::GetConstantStringInfo(), llvm::ProgramInfo::getFunction(), getGlobalVariable(), llvm::ShuffleVectorInst::getMaskValue(), GetOffsetFromIndex(), ScalarEvolutionsImpl::getSCEVAtScope(), llvm::ProgramInfo::getSourceFile(), llvm::ConstantVector::getSplatValue(), GetStringLengthH(), getUIntOperand(), getValType(), llvm::Constant::getVectorElements(), llvm::ConstantExpr::getWithOperandReplaced(), llvm::ConstantExpr::getWithOperands(), GlobalLoadUsesSimpleEnoughForHeapSRA(), llvm::GetElementPtrInst::hasAllConstantIndices(), llvm::GetElementPtrInst::hasAllZeroIndices(), llvm::ExecutionEngine::InitializeMemory(), llvm::MachOWriter::InitMem(), llvm::ConstantVector::isAllOnesValue(), llvm::ConstantArray::isCString(), llvm::PPCTargetLowering::IsEligibleForTailCallOptimization(), isGlobalVariable(), llvm::Instruction::isIdenticalTo(), LoopDeletion::IsLoopInvariantInst(), IsPointerOffset(), isSafeSROAElementUse(), llvm::Instruction::isSameOperationAs(), llvm::ConstantArray::isString(), isStringValue(), IsUserOfGlobalSafeForSRA(), ValueTable::lookup_or_add(), llvm::MapValue(), MoveBelowCallSeqStart(), llvm::VariadicOperandTraits< 3 >::op_begin(), llvm::HungoffOperandTraits< 2 >::op_end(), llvm::OperandTraits< User >::operands(), llvm::HungoffOperandTraits< 2 >::operands(), llvm::VariadicOperandTraits< 3 >::operands(), llvm::OptionalOperandTraits<>::operands(), OptimizeAwayTrappingUsesOfValue(), ParseGlobalCtors(), MSILWriter::printCallInstruction(), MSILWriter::printConstantExpr(), MSILWriter::printInstruction(), MSILWriter::printInvokeInstruction(), MSILWriter::printStaticConstant(), RemapInstruction(), RemapOperand(), llvm::SwitchInst::removeCase(), RemoveDeadConstant(), llvm::PHINode::removeIncomingValue(), replaceUsesOfWith(), llvm::GlobalVariable::replaceUsesOfWithOnConstant(), llvm::ConstantExpr::replaceUsesOfWithOnConstant(), llvm::ConstantVector::replaceUsesOfWithOnConstant(), llvm::ConstantStruct::replaceUsesOfWithOnConstant(), llvm::ConstantArray::replaceUsesOfWithOnConstant(), llvm::BitcodeReaderValueList::resize(), RewriteHeapSROALoadUser(), StripSymbols::runOnModule(), llvm::ExecutionEngine::runStaticConstructorsDestructors(), SimplifyCondBranchToTwoReturns(), llvm::SourceFileInfo::SourceFileInfo(), llvm::SourceFunctionInfo::SourceFunctionInfo(), SRAGlobal(), llvm::Value::stripPointerCasts(), JumpThreading::ThreadEdge(), ProfilerRS::Translate(), llvm::DIVerifier::Verify(), Verifier::visit(), InstCombiner::visitAnd(), llvm::SelectionDAGLowering::visitCall(), InstCombiner::visitCallInst(), InstCombiner::visitExtractElementInst(), InstCombiner::visitGetElementPtrInst(), InstCombiner::visitICmpInst(), Verifier::visitInstruction(), llvm::SelectionDAGLowering::visitRet(), Verifier::visitReturnInst(), llvm::Interpreter::visitReturnInst(), InstCombiner::visitSelectInst(), Verifier::visitShuffleVectorInst(), llvm::SelectionDAGLowering::visitSwitch(), InstCombiner::visitSwitchInst(), llvm::Interpreter::visitSwitchInst(), llvm::SelectionDAGLowering::visitTargetIntrinsic(), WriteConstantInt(), WriteConstants(), and WriteInstruction().

Value* llvm::User::getOperand unsigned  i  )  const [inline]
 

Reimplemented in llvm::Constant.

Definition at line 92 of file User.h.

Referenced by llvm::AliasSetTracker::add(), addCatchInfo(), AddressIsTaken(), AddressMightEscape(), InstCombiner::AddSoonDeadInstToWorklist(), MemsetRanges::addStore(), GlobalsModRef::alias(), BasicAliasAnalysis::alias(), AllUsesOfValueWillTrapIfNull(), AllocaInfo::AnalyzeAlloca(), AnalyzeGlobal(), FoldICmpLogical::apply(), AssociativeOpt(), BreakUpSubtract(), CalculateParameterAndLinkageAreaSize(), FPrintFOpt::CallOptimizer(), FPutsOpt::CallOptimizer(), FWriteOpt::CallOptimizer(), SPrintFOpt::CallOptimizer(), PrintFOpt::CallOptimizer(), ToAsciiOpt::CallOptimizer(), AbsOpt::CallOptimizer(), IsAsciiOpt::CallOptimizer(), IsDigitOpt::CallOptimizer(), FFSOpt::CallOptimizer(), UnaryDoubleFPOpt::CallOptimizer(), Exp2Opt::CallOptimizer(), PowOpt::CallOptimizer(), MemCpyOpt::CallOptimizer(), MemCmpOpt::CallOptimizer(), StrLenOpt::CallOptimizer(), StrCpyOpt::CallOptimizer(), StrNCmpOpt::CallOptimizer(), StrCmpOpt::CallOptimizer(), StrChrOpt::CallOptimizer(), StrCatOpt::CallOptimizer(), ExitOpt::CallOptimizer(), llvm::CannotBeNegativeZero(), CheapToScalarize(), CleanupConstantGlobalUsers(), llvm::FreeInst::clone(), llvm::CloneLoop(), CollectBSwapParts(), CollectShuffleElements(), CollectSingleShuffleElements(), InstCombiner::commonCastTransforms(), InstCombiner::commonDivTransforms(), InstCombiner::commonIDivTransforms(), InstCombiner::commonIntCastTransforms(), InstCombiner::commonIRemTransforms(), InstCombiner::commonPointerCastTransforms(), InstCombiner::commonRemTransforms(), InstCombiner::commonShiftTransforms(), llvm::ComputeMaskedBits(), llvm::ComputeNumSignBits(), PruningFunctionCloner::ConstantFoldMappedInstruction(), llvm::ConstantFoldTerminator(), ConvertShiftToMul(), DecomposeSimpleLinearExpr(), VRPSolver::defToOps(), DSE::DeleteDeadInstructionChains(), DominatesMergePoint(), dyn_castFoldableMul(), EnforceKnownAlignment(), EraseDeadInstructions(), EvaluateExpression(), EvaluateFunction(), EvaluateGEPOffsetExpression(), llvm::FCmpInst::FCmpInst(), FindLIVLoopCondition(), FindMaximalLegalAddressingMode(), llvm::SelectionDAGLowering::FindMergedConditions(), FindScalarElement(), FindSingleUseMultiplyFactors(), InstCombiner::FoldFCmp_IntToFP_Cst(), InstCombiner::FoldGEPICmp(), InstCombiner::FoldICmpDivCst(), FoldOperationIntoSelectOperand(), FoldOpIntoSelect(), InstCombiner::FoldSelectOpOp(), InstCombiner::FoldShiftByConstant(), GatherConstantSetEQs(), GatherConstantSetNEs(), llvm::gep_type_begin(), llvm::InsertValueInst::getAggregateOperand(), getBitCastOperand(), llvm::CallInst::getCalledFunction(), llvm::CallInst::getCalledValue(), llvm::CallSite::getCalledValue(), MSILWriter::getCallSignature(), llvm::LoopBase< MachineBasicBlock >::getCanonicalInductionVariable(), getCommonReturnValue(), getConstantEvolvingPHI(), llvm::GetConstantStringInfo(), llvm::MemoryDependenceAnalysis::getDependency(), GetGEPOperands(), llvm::InsertValueInst::getInsertedValueOperand(), llvm::ShuffleVectorInst::getMaskValue(), llvm::AliasAnalysis::getModRefInfo(), llvm::BinaryOperator::getNotArgument(), GetOffsetFromIndex(), ScalarEvolutionsImpl::getSCEVAtScope(), getShuffleMask(), llvm::LoopBase< MachineBasicBlock >::getSmallConstantTripMultiple(), GetStringLengthH(), llvm::LoopBase< MachineBasicBlock >::getTripCount(), GetUnderlyingObject(), getUnderlyingObject(), GetValueEqualityComparisonCases(), GlobalLoadUsesSimpleEnoughForHeapSRA(), DSE::handleEndBlock(), DSE::handleFreeWithNonTrivialDependency(), llvm::GetElementPtrInst::hasAllConstantIndices(), llvm::GetElementPtrInst::hasAllZeroIndices(), llvm::BinaryOperator::init(), llvm::SCEVExpander::InsertBinop(), InstCombineLoadCast(), InstCombineStoreToCast(), isAddressUse(), llvm::isAllocaPromotable(), IsAlwaysValidPointer(), llvm::AllocationInst::isArrayAllocation(), isDynamicConstant(), llvm::X86TargetLowering::IsEligibleForTailCallOptimization(), llvm::PPCTargetLowering::IsEligibleForTailCallOptimization(), isEliminableCastPair(), isFPIntBitCast(), llvm::Instruction::isIdenticalTo(), llvm::CastInst::isIntegerCast(), LoopDeletion::IsLoopInvariantInst(), llvm::CastInst::isLosslessCast(), llvm::BinaryOperator::isNeg(), llvm::CastInst::isNoopCast(), llvm::BinaryOperator::isNot(), isOnlyCopiedFromConstantGlobal(), IsOnlyUsedInZeroEqualityComparison(), IsPointerOffset(), isSafeSROAElementUse(), isSafeToEliminateVarargsCast(), isSafeToLoadUnconditionally(), isSafeToSinkLoad(), llvm::Instruction::isSameOperationAs(), IsUserOfGlobalSafeForSRA(), isValueEqualityComparison(), LookThroughFPExtensions(), ValueTable::lookup_or_add(), llvm::IntrinsicLowering::LowerIntrinsicCall(), LowerNegateToMultiply(), LowerPartSelect(), LowerPartSet(), MarkAliveBlocks(), llvm::PatternMatch::neg_match< LHS_t >::match(), llvm::PatternMatch::not_match< LHS_t >::match(), MoveBelowCallSeqStart(), MoveBelowTokenFactor(), MoveImmediateValues(), NegateValue(), EscapeEnumerator::Next(), VRPSolver::opsToDef(), OptimizeAwayTrappingUsesOfValue(), OptimizeCmpExpression(), OptimizeNoopCopyExpression(), OptimizeOnceStoredGlobal(), PerformHeapAllocSRoA(), MSILWriter::printAllocaInstruction(), MSILWriter::printCallInstruction(), MSILWriter::printInstruction(), MSILWriter::printIntrinsicCall(), MSILWriter::printInvokeInstruction(), MSILWriter::printLocalVariables(), MSILWriter::printVAArgInstruction(), JumpThreading::ProcessBranchOnCompare(), JumpThreading::ProcessBranchOnLogical(), RemapInstruction(), llvm::AliasSetTracker::remove(), llvm::BasicBlock::removePredecessor(), DSE::RemoveUndeadPointers(), ReplaceUsesOfMallocWithGlobal(), replaceUsesOfWith(), llvm::BitcodeReaderValueList::ResolveConstantForwardRefs(), RewriteHeapSROALoadUser(), LowerAllocations::runOnBasicBlock(), DSE::runOnBasicBlock(), llvm::UnifyFunctionExitNodes::runOnFunction(), AAEval::runOnFunction(), StripSymbols::runOnModule(), IPSCCP::runOnModule(), FoldICmpLogical::shouldApply(), ShouldBreakUpSubtract(), ShrinkDemandedConstant(), InstCombiner::SimplifyDivRemOfSelect(), SpeculativelyExecuteBB(), SRAGlobal(), llvm::Value::stripPointerCasts(), JumpThreading::ThreadBlock(), JumpThreading::ThreadEdge(), ProfilerRS::Translate(), DSE::TranslatePointerBitCasts(), TryMatchingScaledValue(), TryToShrinkGlobalToBoolean(), llvm::UpgradeIntrinsicCall(), ValueIsOnlyUsedLocallyOrStoredToOneGlobal(), llvm::VFCmpInst::VFCmpInst(), llvm::VICmpInst::VICmpInst(), Verifier::visit(), InstCombiner::visitAdd(), llvm::Interpreter::visitAllocationInst(), InstCombiner::visitAnd(), InstCombiner::visitAShr(), llvm::Interpreter::visitAShr(), llvm::SelectionDAGLowering::visitBinary(), Verifier::visitBinaryOperator(), llvm::Interpreter::visitBinaryOperator(), llvm::SelectionDAGLowering::visitBitCast(), InstCombiner::visitBitCast(), Verifier::visitBitCastInst(), llvm::Interpreter::visitBitCastInst(), llvm::SelectionDAGLowering::visitCall(), InstCombiner::visitCallInst(), llvm::SelectionDAGLowering::visitExtractElement(), Verifier::visitExtractElementInst(), InstCombiner::visitExtractElementInst(), llvm::SelectionDAGLowering::visitExtractValue(), llvm::SelectionDAGLowering::visitFCmp(), Verifier::visitFCmpInst(), InstCombiner::visitFCmpInst(), llvm::Interpreter::visitFCmpInst(), llvm::SelectionDAGLowering::visitFPExt(), Verifier::visitFPExtInst(), llvm::Interpreter::visitFPExtInst(), llvm::SelectionDAGLowering::visitFPToSI(), InstCombiner::visitFPToSI(), Verifier::visitFPToSIInst(), llvm::Interpreter::visitFPToSIInst(), llvm::SelectionDAGLowering::visitFPToUI(), InstCombiner::visitFPToUI(), Verifier::visitFPToUIInst(), llvm::Interpreter::visitFPToUIInst(), llvm::SelectionDAGLowering::visitFPTrunc(), InstCombiner::visitFPTrunc(), Verifier::visitFPTruncInst(), llvm::Interpreter::visitFPTruncInst(), llvm::SelectionDAGLowering::visitFree(), InstCombiner::visitFreeInst(), llvm::Interpreter::visitFreeInst(), llvm::SelectionDAGLowering::visitGetElementPtr(), Verifier::visitGetElementPtrInst(), InstCombiner::visitGetElementPtrInst(), llvm::SelectionDAGLowering::visitICmp(), Verifier::visitICmpInst(), InstCombiner::visitICmpInst(), llvm::Interpreter::visitICmpInst(), InstCombiner::visitICmpInstWithCastAndCast(), InstCombiner::visitICmpInstWithInstAndIntCst(), llvm::SelectionDAGLowering::visitInsertElement(), Verifier::visitInsertElementInst(), InstCombiner::visitInsertElementInst(), llvm::SelectionDAGLowering::visitInsertValue(), Verifier::visitInsertValueInst(), Verifier::visitInstruction(), llvm::SelectionDAGLowering::visitIntrinsicCall(), Verifier::visitIntrinsicFunctionCall(), llvm::SelectionDAGLowering::visitIntToPtr(), InstCombiner::visitIntToPtr(), Verifier::visitIntToPtrInst(), llvm::Interpreter::visitIntToPtrInst(), llvm::SelectionDAGLowering::visitInvoke(), llvm::SelectionDAGLowering::visitLoad(), Verifier::visitLoadInst(), InstCombiner::visitLoadInst(), llvm::Interpreter::visitLShr(), llvm::SelectionDAGLowering::visitMalloc(), InstCombiner::visitMul(), InstCombiner::visitOr(), InstCombiner::visitPHINode(), llvm::SelectionDAGLowering::visitPtrToInt(), Verifier::visitPtrToIntInst(), llvm::Interpreter::visitPtrToIntInst(), llvm::SelectionDAGLowering::visitRet(), Verifier::visitReturnInst(), InstCombiner::visitSDiv(), llvm::SelectionDAGLowering::visitSelect(), InstCombiner::visitSelectInst(), llvm::Interpreter::visitSelectInst(), llvm::SelectionDAGLowering::visitSExt(), InstCombiner::visitSExt(), Verifier::visitSExtInst(), llvm::Interpreter::visitSExtInst(), llvm::SelectionDAGLowering::visitShift(), llvm::Interpreter::visitShl(), llvm::SelectionDAGLowering::visitShuffleVector(), Verifier::visitShuffleVectorInst(), InstCombiner::visitShuffleVectorInst(), llvm::SelectionDAGLowering::visitSIToFP(), Verifier::visitSIToFPInst(), llvm::Interpreter::visitSIToFPInst(), InstCombiner::visitSRem(), llvm::SelectionDAGLowering::visitStore(), Verifier::visitStoreInst(), InstCombiner::visitStoreInst(), llvm::Interpreter::visitStoreInst(), llvm::SelectionDAGLowering::visitSub(), InstCombiner::visitSub(), llvm::SelectionDAGLowering::visitSwitch(), InstCombiner::visitSwitchInst(), llvm::Interpreter::visitSwitchInst(), llvm::SelectionDAGLowering::visitTargetIntrinsic(), llvm::SelectionDAGLowering::visitTrunc(), InstCombiner::visitTrunc(), Verifier::visitTruncInst(), llvm::Interpreter::visitTruncInst(), InstCombiner::visitUDiv(), llvm::SelectionDAGLowering::visitUIToFP(), Verifier::visitUIToFPInst(), llvm::Interpreter::visitUIToFPInst(), InstCombiner::visitURem(), llvm::SelectionDAGLowering::visitVAArg(), llvm::Interpreter::visitVAArgInst(), llvm::SelectionDAGLowering::visitVACopy(), llvm::SelectionDAGLowering::visitVAEnd(), llvm::SelectionDAGLowering::visitVAStart(), llvm::SelectionDAGLowering::visitVFCmp(), llvm::SelectionDAGLowering::visitVICmp(), InstCombiner::visitXor(), llvm::SelectionDAGLowering::visitZExt(), InstCombiner::visitZExt(), Verifier::visitZExtInst(), llvm::Interpreter::visitZExtInst(), WriteInstruction(), and CWriter::writeInstructionCast().

template<unsigned Idx>
const Use& llvm::User::Op  )  const [inline]
 

Definition at line 89 of file User.h.

template<unsigned Idx>
Use& llvm::User::Op  )  [inline]
 

Definition at line 86 of file User.h.

const_op_iterator llvm::User::op_begin  )  const [inline]
 

Definition at line 109 of file User.h.

References const_op_iterator.

op_iterator llvm::User::op_begin  )  [inline]
 

Definition at line 108 of file User.h.

References op_iterator.

Referenced by InstCombiner::AddSoonDeadInstToWorklist(), InstCombiner::AddUsesToWorkList(), llvm::CallSite::arg_begin(), ChangeToCall(), llvm::GraphTraits< Inverse< User * > >::child_begin(), llvm::GraphTraits< Inverse< const User * > >::child_begin(), llvm::ConstantFoldConstantExpression(), llvm::ConstantFoldInstruction(), llvm::ConvertConstantType< ConstantExpr, Type >::convert(), DominatesMergePoint(), InstCombiner::DoOneIteration(), llvm::AsmPrinter::EmitConstantValueOnly(), EmitGEPOffset(), EnforceKnownAlignment(), ErasePossiblyDeadInstructionTree(), EvaluateFunction(), EvaluateStoreInto(), FoldCondBranchOnPHI(), llvm::gep_type_begin(), llvm::ExecutionEngine::getConstantValue(), GetGEPOperands(), llvm::value_use_iterator< UserTy >::getOperandNo(), getShuffleMask(), llvm::SelectionDAGLowering::getValue(), DSE::handleEndBlock(), HandleInlinedInvoke(), llvm::MachOWriter::InitMem(), IsConstantOffsetFromGlobal(), llvm::IntrinsicLowering::LowerIntrinsicCall(), llvm::MapValue(), EscapeEnumerator::Next(), OnlyCalledDirectly(), llvm::OperandTraits< User >::op_begin(), OptimizeAwayTrappingUsesOfValue(), OptimizeOnceStoredGlobal(), ParseGlobalCtors(), llvm::RemapInstruction(), llvm::BitcodeReaderValueList::ResolveConstantForwardRefs(), RewriteHeapSROALoadUser(), DCE::runOnFunction(), AAEval::runOnFunction(), ADCE::runOnFunction(), llvm::FindUsedTypes::runOnModule(), llvm::SimplifyCFG(), InstCombiner::SimplifyDivRemOfSelect(), PruneEH::SimplifyFunction(), SpeculativelyExecuteBB(), llvm::UpgradeIntrinsicCall(), LowerSetJmp::visitCallInst(), llvm::SelectionDAGLowering::visitGetElementPtr(), InstCombiner::visitGetElementPtrInst(), and WriteConstantInt().

const_op_iterator llvm::User::op_end  )  const [inline]
 

Definition at line 111 of file User.h.

References const_op_iterator.

op_iterator llvm::User::op_end  )  [inline]
 

Definition at line 110 of file User.h.

References op_iterator.

Referenced by InstCombiner::AddSoonDeadInstToWorklist(), InstCombiner::AddUsesToWorkList(), llvm::CallSite::arg_end(), ChangeToCall(), llvm::GraphTraits< Inverse< User * > >::child_end(), llvm::GraphTraits< Inverse< const User * > >::child_end(), llvm::ConstantFoldConstantExpression(), llvm::ConstantFoldInstruction(), llvm::ConvertConstantType< ConstantExpr, Type >::convert(), DominatesMergePoint(), InstCombiner::DoOneIteration(), llvm::AsmPrinter::EmitConstantValueOnly(), EmitGEPOffset(), EnforceKnownAlignment(), ErasePossiblyDeadInstructionTree(), EvaluateFunction(), EvaluateStoreInto(), FoldCondBranchOnPHI(), llvm::gep_type_end(), llvm::ExecutionEngine::getConstantValue(), GetGEPOperands(), getShuffleMask(), llvm::SelectionDAGLowering::getValue(), DSE::handleEndBlock(), HandleInlinedInvoke(), llvm::MachOWriter::InitMem(), IsConstantOffsetFromGlobal(), llvm::IntrinsicLowering::LowerIntrinsicCall(), llvm::MapValue(), EscapeEnumerator::Next(), OnlyCalledDirectly(), llvm::OperandTraits< User >::op_end(), OptimizeAwayTrappingUsesOfValue(), OptimizeOnceStoredGlobal(), ParseGlobalCtors(), llvm::RemapInstruction(), llvm::BitcodeReaderValueList::ResolveConstantForwardRefs(), RewriteHeapSROALoadUser(), DCE::runOnFunction(), AAEval::runOnFunction(), ADCE::runOnFunction(), llvm::FindUsedTypes::runOnModule(), llvm::SimplifyCFG(), InstCombiner::SimplifyDivRemOfSelect(), PruneEH::SimplifyFunction(), SpeculativelyExecuteBB(), llvm::UpgradeIntrinsicCall(), LowerSetJmp::visitCallInst(), llvm::SelectionDAGLowering::visitGetElementPtr(), InstCombiner::visitGetElementPtrInst(), and WriteConstantInt().

void llvm::User::operator delete void *  ,
unsigned 
[inline]
 

placement delete - required by std, but never called.

Definition at line 83 of file User.h.

void User::operator delete void *  Usr  ) 
 

operator delete - free memory allocated for User and Use objects

Definition at line 381 of file Value.cpp.

References NumOperands, and OperandList.

void * User::operator new size_t  s,
unsigned  Us
[protected]
 

Reimplemented in llvm::CompareConstantExpr.

Definition at line 370 of file Value.cpp.

References llvm::Use::initTags(), NumOperands, and OperandList.

void User::replaceUsesOfWith Value From,
Value To
 

replaceUsesOfWith - Replaces all references to the "From" definition with references to the "To" definition.

Definition at line 355 of file Value.cpp.

References getNumOperands(), getOperand(), and setOperand().

Referenced by llvm::DemoteRegToStack(), llvm::BitcodeReader::materializeModule(), ReplaceUsesOfMallocWithGlobal(), BasedUser::RewriteInstructionToUseNewBase(), LoopRotate::rotateLoop(), LoopDeletion::runOnLoop(), and llvm::SplitBlockPredecessors().

void llvm::User::setOperand unsigned  i,
Value Val
[inline]
 

Definition at line 96 of file User.h.

Referenced by AssociativeOpt(), llvm::CloneLoop(), InstCombiner::commonPointerCastTransforms(), DSE::DeleteDeadInstructionChains(), InstCombiner::FoldShiftByConstant(), llvm::InlineFunction(), llvm::InsertProfilingInitCall(), NegateValue(), OptimizeAwayTrappingUsesOfValue(), RemapInstruction(), replaceUsesOfWith(), LoopRotate::rotateLoop(), IPSCCP::runOnModule(), llvm::CallSite::setArgument(), llvm::CallSite::setCalledFunction(), ShrinkDemandedConstant(), InstCombiner::SimplifyDivRemOfSelect(), JumpThreading::ThreadEdge(), ProfilerRS::Translate(), InstCombiner::visitCallInst(), InstCombiner::visitExtractElementInst(), InstCombiner::visitFCmpInst(), InstCombiner::visitFreeInst(), InstCombiner::visitGetElementPtrInst(), InstCombiner::visitICmpInst(), InstCombiner::visitICmpInstWithInstAndIntCst(), InstCombiner::visitLoadInst(), InstCombiner::visitSelectInst(), InstCombiner::visitShuffleVectorInst(), InstCombiner::visitSRem(), InstCombiner::visitStoreInst(), InstCombiner::visitSub(), InstCombiner::visitSwitchInst(), and InstCombiner::visitXor().


Friends And Related Function Documentation

friend struct HungoffOperandTraits [friend]
 

Definition at line 51 of file User.h.


Member Data Documentation

unsigned llvm::User::NumOperands [protected]
 

NumOperands - The number of values used by this User.

Definition at line 63 of file User.h.

Referenced by operator delete(), and operator new().

Use* llvm::User::OperandList [protected]
 

OperandList - This is a pointer to the array of Users for this operand. For nodes of fixed arity (e.g. a binary operator) this array will live prefixed to the derived class. 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 59 of file User.h.

Referenced by llvm::HungoffOperandTraits< 2 >::op_begin(), llvm::HungoffOperandTraits< 2 >::op_end(), operator delete(), and operator new().


The documentation for this class was generated from the following files:


This web site is hosted by the Computer Science Department at the University of Illinois at Urbana-Champaign.