LLVM API Documentation

llvm::Value Class Reference

LLVM Value Representation. More...

#include <Value.h>

Inheritance diagram for llvm::Value:

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

Collaboration graph
[legend]
List of all members.

Public Types

enum  ValueTy {
  ArgumentVal, BasicBlockVal, FunctionVal, GlobalVariableVal,
  UndefValueVal, ConstantExprVal, ConstantAggregateZeroVal, ConstantBoolVal,
  ConstantSIntVal, ConstantUIntVal, ConstantFPVal, ConstantArrayVal,
  ConstantStructVal, ConstantPackedVal, ConstantPointerNullVal, InlineAsmVal,
  InstructionVal, ConstantFirstVal = FunctionVal, ConstantLastVal = ConstantPointerNullVal
}
typedef value_use_iterator<
User
use_iterator
typedef value_use_iterator<
const User
use_const_iterator

Public Member Functions

 Value (const Type *Ty, unsigned scid, const std::string &name="")
virtual ~Value ()
virtual void dump () const
 dump - Support for debugging, callable in GDB: V->dump()
virtual void print (std::ostream &O) const=0
const TypegetType () const
bool hasName () const
const std::string & getName () const
void setName (const std::string &name)
void replaceAllUsesWith (Value *V)
void uncheckedReplaceAllUsesWith (Value *V)
bool use_empty () const
use_iterator use_begin ()
use_const_iterator use_begin () const
use_iterator use_end ()
use_const_iterator use_end () const
Useruse_back ()
const Useruse_back () const
bool hasOneUse () const
bool hasNUses (unsigned N) const
bool hasNUsesOrMore (unsigned N) const
unsigned getNumUses () const
void addUse (Use &U)
unsigned getValueType () const
const TypegetRawType () const

Static Public Member Functions

static bool classof (const Value *)

Protected Attributes

unsigned short SubclassData

Friends

class ValueSymbolTable
class SymbolTable
class Instruction

Detailed Description

LLVM Value Representation.

This is a very important LLVM class. It is the base class of all values computed by a program that may be used as operands to other values. Value is the super class of other important classes such as Instruction and Function. All Values have a Type. Type is not a subclass of Value. All types can have a name and they should belong to some Module. Setting the name on the Value automatically update's the module's symbol table.

Every value has a "use list" that keeps track of which other Values are using this Value.

Definition at line 49 of file Value.h.


Member Typedef Documentation

typedef value_use_iterator<User> llvm::Value::use_iterator

Definition at line 102 of file Value.h.

typedef value_use_iterator<const User> llvm::Value::use_const_iterator

Definition at line 103 of file Value.h.


Member Enumeration Documentation

enum llvm::Value::ValueTy

An enumeration for keeping track of the concrete subclass of Value that is actually instantiated. Values of this enumeration are kept in the Value classes SubclassID field. They are used for concrete type identification.

Enumerator:
ArgumentVal 
BasicBlockVal 
FunctionVal 
GlobalVariableVal 
UndefValueVal 
ConstantExprVal 
ConstantAggregateZeroVal 
ConstantBoolVal 
ConstantSIntVal 
ConstantUIntVal 
ConstantFPVal 
ConstantArrayVal 
ConstantStructVal 
ConstantPackedVal 
ConstantPointerNullVal 
InlineAsmVal 
InstructionVal 
ConstantFirstVal 
ConstantLastVal 

Definition at line 145 of file Value.h.


Constructor & Destructor Documentation

Value::Value ( const Type Ty,
unsigned  scid,
const std::string &  name = "" 
)

Definition at line 33 of file Value.cpp.

References llvm::Type::VoidTy.

Value::~Value (  )  [virtual]

Definition at line 44 of file Value.cpp.

References E, llvm::LeakDetector::removeGarbageObject(), use_begin(), and use_end().


Member Function Documentation

void Value::dump (  )  const [virtual]

dump - Support for debugging, callable in GDB: V->dump()

Definition at line 1337 of file AsmWriter.cpp.

References print().

Referenced by llvm::CallTargetFinder::print().

virtual void llvm::Value::print ( std::ostream &  O  )  const [pure virtual]

print - Implement operator<< on Value...

Implemented in llvm::Argument, llvm::BasicBlock, llvm::Constant, llvm::Function, llvm::GlobalVariable, llvm::InlineAsm, llvm::Instruction, and llvm::BytecodeReader::ValueList.

Referenced by dump(), and llvm::BytecodeReader::ValueList::print().

const Type* llvm::Value::getType (  )  const [inline]

All values are typed, get the type of this value.

Reimplemented in llvm::ConstantArray, llvm::ConstantStruct, llvm::ConstantPacked, llvm::ConstantPointerNull, llvm::GlobalValue, llvm::InlineAsm, llvm::AllocationInst, llvm::GetElementPtrInst, llvm::InsertElementInst, and llvm::ShuffleVectorInst.

Definition at line 81 of file Value.h.

References Ty.

Referenced by llvm::AliasSetTracker::add(), llvm::PHINode::addIncoming(), llvm::DSGraph::addObjectToGraph(), AddWithOverflow(), AssociativeOpt(), CallPassesValueThoughVararg(), CanEvaluateInDifferentType(), CastConstantPacked(), llvm::CloneAndPruneFunctionInto(), Coerce(), CollectShuffleElements(), CollectSingleShuffleElements(), ComputeMaskedBits(), llvm::ConstantFoldGetElementPtr(), llvm::ConstantFoldInsertElementInstruction(), llvm::ConstantFoldLoadThroughGEPConstantExpr(), llvm::ConstantRange::ConstantRange(), llvm::ConvertExpressionToType(), ConvertOperandToType(), ConvertShiftToMul(), llvm::BinaryOperator::create(), DecomposeSimpleLinearExpr(), llvm::DemoteRegToStack(), llvm::AsmPrinter::EmitConstantPool(), llvm::AsmPrinter::EmitGlobalConstant(), EvaluateFunction(), evaluateRelation(), EvaluateStoreInto(), llvm::Interpreter::executeGEPOperation(), llvm::ExpressionConvertibleToType(), FoldCondBranchOnPHI(), FoldOpIntoSelect(), FoldTwoEntryPHINode(), llvm::FunctionLoweringInfo::FunctionLoweringInfo(), GatherConstantSetNEs(), llvm::gep_type_begin(), llvm::SCEVSDivExpr::get(), llvm::SCEVConstant::get(), llvm::ConstantExpr::get(), llvm::DSGraph::getDSCallSiteForCallSite(), llvm::ConstantExpr::getExtractElement(), GetFactor(), llvm::ConstantExpr::getInsertElement(), GetKnownAlignment(), llvm::AliasAnalysis::getModRefInfo(), llvm::ConstantExpr::getSelect(), GetSelectFoldableConstant(), llvm::ConstantExpr::getSelectTy(), llvm::ConstantIntegral::getSExtValue(), llvm::ConstantExpr::getShiftTy(), llvm::ConstantExpr::getSShr(), llvm::DISerializer::getString(), getStringRef(), llvm::ConstantExpr::getTy(), llvm::SCEVUnknown::getType(), llvm::SCEVConstant::getType(), llvm::ShuffleVectorInst::getType(), llvm::InsertElementInst::getType(), llvm::GetElementPtrInst::getType(), llvm::AllocationInst::getType(), llvm::InlineAsm::getType(), llvm::GlobalValue::getType(), llvm::ConstantPointerNull::getType(), llvm::ConstantPacked::getType(), llvm::ConstantStruct::getType(), llvm::ConstantArray::getType(), llvm::ConstantRange::getType(), llvm::CallSite::getType(), llvm::ConstantExpr::getUShr(), llvm::ConstantExpr::getWithOperandReplaced(), llvm::ConstantExpr::getWithOperands(), llvm::ConstantIntegral::getZExtValue(), llvm::GlobalVariable::GlobalVariable(), llvm::PHINode::hasConstantValue(), HoistThenElseCodeToIf(), IdenticalComplexInst(), llvm::BinaryOperator::init(), llvm::ExecutionEngine::InitializeMemory(), llvm::SymbolTable::insert(), InsertGEPComputeCode(), llvm::InsertProfilingInitCall(), InstallGlobalCtors(), InstCombineLoadCast(), InstCombineStoreToCast(), llvm::ConstantUInt::isAllOnesValue(), llvm::Instruction::isAssociative(), isHighOnes(), llvm::Instruction::isIdenticalTo(), llvm::ConstantSInt::isMaxValue(), llvm::ConstantSInt::isMinValue(), isReinterpretingCast(), isSignBit(), isSignBitCheck(), llvm::ShuffleVectorInst::isValidOperands(), llvm::InsertElementInst::isValidOperands(), llvm::ExtractElementInst::isValidOperands(), llvm::TargetLowering::LowerArguments(), LowerCTPOP(), llvm::DefaultIntrinsicLowering::LowerIntrinsicCall(), LowerNegateToMultiply(), Next(), OperandConvertibleToType(), OptimizeAwayTrappingUsesOfValue(), OptimizeConstantExpr(), OptimizeGEPExpression(), OptimizeNoopCopyExpression(), llvm::BytecodeReader::ParseConstantPool(), llvm::BytecodeReader::ParseConstantPoolValue(), llvm::BytecodeReader::ParseInstruction(), PartialFact(), llvm::Constant::print(), llvm::SymbolTable::remove(), llvm::AliasSetTracker::remove(), llvm::PHINode::removeIncomingValue(), RemoveNoopCast(), replaceAllUsesWith(), ReplaceCallWith(), ReplaceUsesOfGEPInst(), llvm::ConstantExpr::replaceUsesOfWithOnConstant(), SCCPSolver::ResolveBranchesIn(), llvm::JIT::runFunction(), llvm::MemIntrinsic::setAlignment(), llvm::MemIntrinsic::setDest(), llvm::MemIntrinsic::setLength(), llvm::MemMoveInst::setSource(), llvm::MemCpyInst::setSource(), llvm::MemSetInst::setValue(), ShouldTraceValue(), ShrinkDemandedConstant(), ShrinkGlobalToBoolean(), SolveQuadraticEquation(), llvm::ConstantRange::subtract(), llvm::UpgradeIntrinsicCall(), ValuesEqual(), llvm::SelectionDAGLowering::visitBinary(), llvm::Interpreter::visitBinaryOperator(), llvm::SelectionDAGLowering::visitCall(), llvm::SelectionDAGLowering::visitCast(), llvm::Interpreter::visitCastInst(), llvm::SelectionDAGLowering::visitExtractElement(), llvm::Interpreter::visitFreeInst(), llvm::SelectionDAGLowering::visitGetElementPtr(), llvm::SelectionDAGLowering::visitInlineAsm(), llvm::SelectionDAGLowering::visitLoad(), llvm::Interpreter::visitLoadInst(), llvm::Interpreter::visitReturnInst(), llvm::SelectionDAGLowering::visitSelect(), llvm::SelectionDAGLowering::visitSetCC(), llvm::Interpreter::visitShl(), llvm::Interpreter::visitShr(), llvm::Interpreter::visitStoreInst(), llvm::SelectionDAGLowering::visitSub(), llvm::Interpreter::visitSwitchInst(), llvm::SelectionDAGLowering::visitTargetIntrinsic(), llvm::SelectionDAGLowering::visitUserOp2(), llvm::SelectionDAGLowering::visitVAArg(), llvm::Interpreter::visitVAArgInst(), WriteConstantInt(), and llvm::ConstantRange::zeroExtend().

bool llvm::Value::hasName (  )  const [inline]

Definition at line 84 of file Value.h.

References Name.

Referenced by llvm::CloneBasicBlock(), llvm::SymbolTable::insert(), llvm::SymbolTable::remove(), setName(), llvm::SimplifyCFG(), and TryToSimplifyUncondBranchFromEmptyBlock().

const std::string& llvm::Value::getName (  )  const [inline]

Definition at line 85 of file Value.h.

References Name.

Referenced by llvm::DOTGraphTraits< const DSGraph * >::addCustomGraphFeatures(), BreakUpSubtract(), llvm::CloneBasicBlock(), llvm::ConvertExpressionToType(), ConvertOperandToType(), ConvertShiftToMul(), llvm::DemoteRegToStack(), llvm::SDNode::dump(), EmitGEPOffset(), llvm::ExecutionEngine::EmitGlobalVariable(), llvm::X86RegisterInfo::emitPrologue(), llvm::AsmPrinter::EmitSpecialLLVMGlobal(), EvaluateFunction(), FoldCondBranchOnPHI(), FoldTwoEntryPHINode(), ForceRenaming(), getArgumentPermutation(), getGlobalVariableClass(), llvm::Function::getIntrinsicID(), llvm::JIT::getOrEmitGlobalVariable(), getSCEVStartAndStride(), HandleInlinedInvoke(), HoistThenElseCodeToIf(), InlineCallIfPossible(), llvm::InlineFunction(), llvm::SymbolTable::insert(), InsertInstrumentationCall(), InstallGlobalCtors(), InstCombineLoadCast(), InstCombineStoreToCast(), LinkGlobals(), llvm::DefaultIntrinsicLowering::LowerIntrinsicCall(), LowerNegateToMultiply(), SCCPSolver::MarkBlockExecutable(), NegateValue(), OptimizeGEPExpression(), OptimizeGlobalAddressOfMalloc(), llvm::BytecodeReader::ParseConstantPool(), llvm::SCEVAddRecExpr::print(), llvm::MachineFunction::print(), llvm::MachineBasicBlock::print(), llvm::CallTargetFinder::print(), llvm::CallGraphNode::print(), llvm::AsmPrinter::printBasicBlockLabel(), printCollection(), PrintLoopInfo(), llvm::PMDebug::PrintPassInformation(), ProcessGlobalsWithSameName(), llvm::SymbolTable::remove(), ReplaceCallWith(), llvm::ReplaceInstWithValue(), ResolveFunctions(), llvm::SelectionDAGISel::runOnFunction(), ShrinkGlobalToBoolean(), llvm::SimplifyCFG(), llvm::SplitCriticalEdge(), SRAGlobal(), TryToSimplifyUncondBranchFromEmptyBlock(), llvm::UpgradeIntrinsicCall(), and llvm::Function::viewCFG().

void Value::setName ( const std::string &  name  ) 

Definition at line 96 of file Value.cpp.

References A, BB, llvm::SymbolTable::changeName(), llvm::GlobalValue::getParent(), llvm::BasicBlock::getParent(), GV, hasName(), llvm::SymbolTable::insert(), and llvm::SymbolTable::remove().

Referenced by BreakUpSubtract(), llvm::CloneBasicBlock(), llvm::ConvertExpressionToType(), ConvertOperandToType(), ConvertShiftToMul(), FoldCondBranchOnPHI(), FoldTwoEntryPHINode(), ForceRenaming(), getBBVal(), HoistThenElseCodeToIf(), InstallGlobalCtors(), LinkAppendingVars(), LowerNegateToMultiply(), NegateValue(), ReplaceCallWith(), llvm::SimplifyCFG(), and TryToSimplifyUncondBranchFromEmptyBlock().

void Value::replaceAllUsesWith ( Value V  ) 

replaceAllUsesWith - Go through the uses list for this definition and make each use point to "V" instead of "this". After this completes, 'this's use list is guaranteed to be empty.

Definition at line 153 of file Value.cpp.

References getType(), and uncheckedReplaceAllUsesWith().

Referenced by AddReachableCodeToWorklist(), AssociativeOpt(), BreakUpSubtract(), llvm::CloneAndPruneFunctionInto(), ConvertShiftToMul(), FindPHIToPartitionLoops(), FoldCondBranchOnPHI(), FoldTwoEntryPHINode(), HandleInlinedInvoke(), HoistThenElseCodeToIf(), llvm::InlineFunction(), InstallGlobalCtors(), LinkAppendingVars(), LinkGlobals(), llvm::DefaultIntrinsicLowering::LowerIntrinsicCall(), LowerNegateToMultiply(), OptimizeGEPExpression(), OptimizeGlobalAddressOfMalloc(), llvm::BytecodeReader::ParseFunctionBody(), llvm::PHINode::removeIncomingValue(), llvm::BasicBlock::removePredecessor(), ReplaceCallWith(), llvm::ReplaceInstWithValue(), ReplaceUsesOfWith(), ResolveFunctions(), llvm::SimplifyCFG(), SRAGlobal(), TryToSimplifyUncondBranchFromEmptyBlock(), and llvm::UpgradeIntrinsicCall().

void Value::uncheckedReplaceAllUsesWith ( Value V  ) 

Definition at line 137 of file Value.cpp.

References C, U, and use_empty().

Referenced by llvm::ConvertConstantType< ConstantExpr, Type >::convert(), llvm::ConvertConstantType< UndefValue, Type >::convert(), llvm::ConvertConstantType< ConstantPointerNull, PointerType >::convert(), llvm::ConvertConstantType< ConstantPacked, PackedType >::convert(), llvm::ConvertConstantType< ConstantStruct, StructType >::convert(), llvm::ConvertConstantType< ConstantArray, ArrayType >::convert(), llvm::ConvertConstantType< ConstantAggregateZero, Type >::convert(), replaceAllUsesWith(), llvm::ConstantExpr::replaceUsesOfWithOnConstant(), llvm::ConstantPacked::replaceUsesOfWithOnConstant(), llvm::ConstantStruct::replaceUsesOfWithOnConstant(), and llvm::ConstantArray::replaceUsesOfWithOnConstant().

bool llvm::Value::use_empty (  )  const [inline]

Definition at line 105 of file Value.h.

Referenced by CallersAllIgnoreReturnValue(), DeadPHICycle(), llvm::DemoteRegToStack(), llvm::Constant::destroyConstantImpl(), llvm::AsmPrinter::EmitSpecialLLVMGlobal(), llvm::FunctionLoweringInfo::FunctionLoweringInfo(), getGlobalVariableClass(), InlineCallIfPossible(), InstallGlobalCtors(), llvm::isInstructionTriviallyDead(), llvm::DefaultIntrinsicLowering::LowerIntrinsicCall(), OptimizeAwayTrappingUsesOfLoads(), OptimizeGlobalAddressOfMalloc(), OptimizeNoopCopyExpression(), ProcessGlobalsWithSameName(), RecursiveDelete(), llvm::GlobalValue::removeDeadConstantUsers(), ReplaceCallWith(), ReplaceUsesOfGEPInst(), ResolveFunctions(), ShrinkGlobalToBoolean(), SRAGlobal(), uncheckedReplaceAllUsesWith(), and llvm::UpgradeIntrinsicCall().

use_iterator llvm::Value::use_begin (  )  [inline]

Definition at line 106 of file Value.h.

Referenced by AddressIsTaken(), AllCalleesPassInValidPointerForArgument(), AllUsersAreLoads(), AllUsesOfLoadedValueWillTrapIfNull(), CallersAllIgnoreReturnValue(), llvm::ConvertExpressionToType(), ConvertOperandToType(), llvm::ExpressionConvertibleToType(), getNumUses(), llvm::SourceFunctionInfo::getSourceLocation(), hasNUses(), hasNUsesOrMore(), hasOneUse(), llvm::isAllocaPromotable(), IsOnlyUsedInEqualsZeroComparison(), LiveAtBBExit(), OptimizeAwayTrappingUsesOfLoads(), OptimizeGEPExpression(), OptimizeNoopCopyExpression(), ReplaceUsesOfWith(), SCCPSolver::Solve(), use_back(), and ~Value().

use_const_iterator llvm::Value::use_begin (  )  const [inline]

Definition at line 107 of file Value.h.

use_iterator llvm::Value::use_end (  )  [inline]

Definition at line 108 of file Value.h.

Referenced by AddressIsTaken(), AllCalleesPassInValidPointerForArgument(), AllUsersAreLoads(), AllUsesOfLoadedValueWillTrapIfNull(), CallersAllIgnoreReturnValue(), ConvertOperandToType(), llvm::ExpressionConvertibleToType(), getNumUses(), llvm::SourceFunctionInfo::getSourceLocation(), hasNUses(), hasNUsesOrMore(), hasOneUse(), llvm::isAllocaPromotable(), IsOnlyUsedInEqualsZeroComparison(), LiveAtBBExit(), OptimizeAwayTrappingUsesOfLoads(), OptimizeGEPExpression(), OptimizeNoopCopyExpression(), ReplaceUsesOfWith(), SCCPSolver::Solve(), and ~Value().

use_const_iterator llvm::Value::use_end (  )  const [inline]

Definition at line 109 of file Value.h.

User* llvm::Value::use_back (  )  [inline]

Definition at line 110 of file Value.h.

References use_begin().

Referenced by BreakUpSubtract(), ConvertShiftToMul(), DeadPHICycle(), llvm::DemoteRegToStack(), llvm::Constant::destroyConstantImpl(), OptimizeGlobalAddressOfMalloc(), llvm::GlobalValue::removeDeadConstantUsers(), ReplaceUsesOfGEPInst(), ShrinkGlobalToBoolean(), and SRAGlobal().

const User* llvm::Value::use_back (  )  const [inline]

Definition at line 111 of file Value.h.

References use_begin().

bool llvm::Value::hasOneUse (  )  const [inline]

hasOneUse - Return true if there is exactly one user of this value. This is specialized because it is a common request and does not require traversing the whole use list.

Definition at line 117 of file Value.h.

References E, use_begin(), and use_end().

Referenced by AssociativeOpt(), BreakUpSubtract(), CanEvaluateInDifferentType(), CheapToScalarize(), ConvertShiftToMul(), DeadPHICycle(), FoldCondBranchOnPHI(), FoldOpIntoSelect(), isBlockSimpleEnough(), NegateValue(), llvm::TargetLowering::SimplifyDemandedBits(), and TryToSinkInstruction().

bool Value::hasNUses ( unsigned  N  )  const

hasNUses - Return true if this Value has exactly N users.

Definition at line 67 of file Value.cpp.

References E, use_begin(), and use_end().

bool Value::hasNUsesOrMore ( unsigned  N  )  const

hasNUsesOrMore - Return true if this value has N users or more. This is logically equivalent to getNumUses() >= N.

Definition at line 78 of file Value.cpp.

References E, use_begin(), and use_end().

Referenced by llvm::BasicBlock::removePredecessor(), and SRAGlobal().

unsigned Value::getNumUses (  )  const

getNumUses - This method computes the number of uses of this Value. This is a linear time operation. Use hasOneUse, hasNUses, or hasMoreThanNUses to check for specific values.

Definition at line 91 of file Value.cpp.

References use_begin(), and use_end().

Referenced by llvm::ConvertExpressionToType(), and ResolveFunctions().

void llvm::Value::addUse ( Use U  )  [inline]

addUse/killUse - These two methods should only be used by the Use class.

Definition at line 139 of file Value.h.

References U.

Referenced by llvm::Use::init().

unsigned llvm::Value::getValueType (  )  const [inline]

getValueType - Return an ID for the concrete type of this object. This is used to implement the classof checks. This should not be used for any other purpose, as the values may change as LLVM evolves. Also, note that starting with the InstructionVal value, the value stored is actually the Instruction opcode, so there are more than just these values possible here (and Instruction must be last).

Definition at line 176 of file Value.h.

Referenced by llvm::Instruction::getOpcode(), LowerCALL(), llvm::IA64TargetLowering::LowerCallTo(), llvm::AlphaTargetLowering::LowerOperation(), and llvm::PPCTargetLowering::PerformDAGCombine().

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

Reimplemented in llvm::Argument, llvm::BasicBlock, llvm::Constant, llvm::ConstantIntegral, llvm::ConstantBool, llvm::ConstantInt, llvm::ConstantSInt, llvm::ConstantUInt, llvm::ConstantFP, llvm::ConstantAggregateZero, llvm::ConstantArray, llvm::ConstantStruct, llvm::ConstantPacked, llvm::ConstantPointerNull, llvm::ConstantExpr, llvm::UndefValue, llvm::Function, llvm::GlobalValue, llvm::GlobalVariable, llvm::InlineAsm, llvm::TerminatorInst, llvm::BinaryOperator, llvm::Instruction, llvm::AllocationInst, llvm::MallocInst, llvm::AllocaInst, llvm::FreeInst, llvm::LoadInst, llvm::StoreInst, llvm::GetElementPtrInst, llvm::SetCondInst, llvm::CastInst, llvm::CallInst, llvm::ShiftInst, llvm::SelectInst, llvm::VAArgInst, llvm::ExtractElementInst, llvm::InsertElementInst, llvm::ShuffleVectorInst, llvm::PHINode, llvm::ReturnInst, llvm::BranchInst, llvm::SwitchInst, llvm::InvokeInst, llvm::UnwindInst, llvm::UnreachableInst, llvm::IntrinsicInst, llvm::DbgInfoIntrinsic, llvm::DbgStopPointInst, llvm::DbgFuncStartInst, llvm::DbgRegionStartInst, llvm::DbgRegionEndInst, llvm::DbgDeclareInst, llvm::MemIntrinsic, llvm::MemCpyInst, llvm::MemMoveInst, llvm::MemSetInst, llvm::User, and llvm::ValueHandle.

Definition at line 181 of file Value.h.

const Type* llvm::Value::getRawType (  )  const [inline]

getRawType - This should only be used to implement the vmcore library.

Definition at line 187 of file Value.h.

References Ty.


Friends And Related Function Documentation

friend class ValueSymbolTable [friend]

Definition at line 60 of file Value.h.

friend class SymbolTable [friend]

Definition at line 61 of file Value.h.

Referenced by llvm::Function::Function().

friend class Instruction [friend]

Definition at line 192 of file Value.h.


Member Data Documentation

unsigned short llvm::Value::SubclassData [protected]

SubclassData - This member is defined by this class, but is not used for anything. Subclasses can use it to hold whatever state they find useful. This field is initialized to zero by the ctor.

Definition at line 55 of file Value.h.

Referenced by llvm::ConstantExpr::ConstantExpr(), llvm::InvokeInst::getCallingConv(), llvm::CallInst::getCallingConv(), llvm::ConstantExpr::getOpcode(), llvm::CallInst::isTailCall(), llvm::StoreInst::isVolatile(), llvm::LoadInst::isVolatile(), llvm::InvokeInst::setCallingConv(), llvm::CallInst::setCallingConv(), llvm::CallInst::setTailCall(), llvm::StoreInst::setVolatile(), and llvm::LoadInst::setVolatile().


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