LLVM API Documentation
#include <Function.h>
Public Member Functions | |
~Function () | |
Type * | getReturnType () const |
FunctionType * | getFunctionType () const |
LLVMContext & | getContext () const |
bool | isVarArg () const |
unsigned | getIntrinsicID () const LLVM_READONLY |
bool | isIntrinsic () const |
CallingConv::ID | getCallingConv () const |
void | setCallingConv (CallingConv::ID CC) |
AttributeSet | getAttributes () const |
Return the attribute list for this Function. More... | |
void | setAttributes (AttributeSet attrs) |
Set the attribute list for this Function. More... | |
void | addFnAttr (Attribute::AttrKind N) |
Add function attributes to this function. More... | |
void | removeFnAttr (Attribute::AttrKind N) |
Remove function attributes from this function. More... | |
void | addFnAttr (StringRef Kind) |
Add function attributes to this function. More... | |
void | addFnAttr (StringRef Kind, StringRef Value) |
bool | hasFnAttribute (Attribute::AttrKind Kind) const |
Return true if the function has the attribute. More... | |
bool | hasFnAttribute (StringRef Kind) const |
Attribute | getFnAttribute (Attribute::AttrKind Kind) const |
Return the attribute for the given attribute kind. More... | |
Attribute | getFnAttribute (StringRef Kind) const |
bool | hasGC () const |
const char * | getGC () const |
void | setGC (const char *Str) |
void | clearGC () |
void | addAttribute (unsigned i, Attribute::AttrKind attr) |
adds the attribute to the list of attributes. More... | |
void | addAttributes (unsigned i, AttributeSet attrs) |
adds the attributes to the list of attributes. More... | |
void | removeAttributes (unsigned i, AttributeSet attr) |
removes the attributes from the list of attributes. More... | |
unsigned | getParamAlignment (unsigned i) const |
Extract the alignment for a call or parameter (0=unknown). More... | |
bool | doesNotAccessMemory () const |
Determine if the function does not access memory. More... | |
void | setDoesNotAccessMemory () |
bool | onlyReadsMemory () const |
Determine if the function does not access or only reads memory. More... | |
void | setOnlyReadsMemory () |
bool | doesNotReturn () const |
Determine if the function cannot return. More... | |
void | setDoesNotReturn () |
bool | doesNotThrow () const |
Determine if the function cannot unwind. More... | |
void | setDoesNotThrow () |
bool | cannotDuplicate () const |
Determine if the call cannot be duplicated. More... | |
void | setCannotDuplicate () |
bool | hasUWTable () const |
True if the ABI mandates (or the user requested) that this function be in a unwind table. More... | |
void | setHasUWTable () |
bool | needsUnwindTableEntry () const |
True if this function needs an unwind table. More... | |
bool | hasStructRetAttr () const |
Determine if the function returns a structure through first pointer argument. More... | |
bool | doesNotAlias (unsigned n) const |
Determine if the parameter does not alias other parameters. More... | |
void | setDoesNotAlias (unsigned n) |
bool | doesNotCapture (unsigned n) const |
Determine if the parameter can be captured. More... | |
void | setDoesNotCapture (unsigned n) |
bool | doesNotAccessMemory (unsigned n) const |
void | setDoesNotAccessMemory (unsigned n) |
bool | onlyReadsMemory (unsigned n) const |
void | setOnlyReadsMemory (unsigned n) |
void | copyAttributesFrom (const GlobalValue *Src) |
void | deleteBody () |
virtual void | removeFromParent () |
virtual void | eraseFromParent () |
const ArgumentListType & | getArgumentList () const |
ArgumentListType & | getArgumentList () |
const BasicBlockListType & | getBasicBlockList () const |
BasicBlockListType & | getBasicBlockList () |
const BasicBlock & | getEntryBlock () const |
BasicBlock & | getEntryBlock () |
ValueSymbolTable & | getValueSymbolTable () |
const ValueSymbolTable & | getValueSymbolTable () const |
iterator | begin () |
const_iterator | begin () const |
iterator | end () |
const_iterator | end () const |
size_t | size () const |
bool | empty () const |
const BasicBlock & | front () const |
BasicBlock & | front () |
const BasicBlock & | back () const |
BasicBlock & | back () |
arg_iterator | arg_begin () |
const_arg_iterator | arg_begin () const |
arg_iterator | arg_end () |
const_arg_iterator | arg_end () const |
size_t | arg_size () const |
bool | arg_empty () const |
bool | hasPrefixData () const |
Constant * | getPrefixData () const |
void | setPrefixData (Constant *PrefixData) |
void | viewCFG () const |
void | viewCFGOnly () const |
void | dropAllReferences () |
bool | hasAddressTaken (const User **=0) const |
bool | isDefTriviallyDead () const |
bool | callsFunctionThatReturnsTwice () const |
![]() | |
~GlobalValue () | |
unsigned | getAlignment () const |
void | setAlignment (unsigned Align) |
bool | hasUnnamedAddr () const |
void | setUnnamedAddr (bool Val) |
VisibilityTypes | getVisibility () const |
bool | hasDefaultVisibility () const |
bool | hasHiddenVisibility () const |
bool | hasProtectedVisibility () const |
void | setVisibility (VisibilityTypes V) |
bool | hasSection () const |
const std::string & | getSection () const |
void | setSection (StringRef S) |
bool | use_empty_except_constants () |
Determine if the usage of this global value is empty except for transitively dead constants. More... | |
PointerType * | getType () const |
getType - Global values are always pointers. More... | |
bool | hasExternalLinkage () const |
bool | hasAvailableExternallyLinkage () const |
bool | hasLinkOnceLinkage () const |
bool | hasWeakLinkage () const |
bool | hasAppendingLinkage () const |
bool | hasInternalLinkage () const |
bool | hasPrivateLinkage () const |
bool | hasLinkerPrivateLinkage () const |
bool | hasLinkerPrivateWeakLinkage () const |
bool | hasLocalLinkage () const |
bool | hasDLLImportLinkage () const |
bool | hasDLLExportLinkage () const |
bool | hasExternalWeakLinkage () const |
bool | hasCommonLinkage () const |
void | setLinkage (LinkageTypes LT) |
LinkageTypes | getLinkage () const |
bool | isDiscardableIfUnused () const |
bool | mayBeOverridden () const |
bool | isWeakForLinker () const |
virtual void | destroyConstant () |
Override from Constant class. More... | |
bool | isDeclaration () const |
Module * | getParent () |
const Module * | getParent () const |
bool | isMaterializable () const |
bool | isDematerializable () const |
bool | Materialize (std::string *ErrInfo=0) |
void | Dematerialize () |
![]() | |
bool | isNullValue () const |
bool | isAllOnesValue () const |
bool | isNegativeZeroValue () const |
bool | isZeroValue () const |
Return true if the value is negative zero or null value. More... | |
bool | canTrap () const |
bool | isThreadDependent () const |
isThreadDependent - Return true if the value can vary between threads. More... | |
bool | isConstantUsed () const |
PossibleRelocationsTy | getRelocationInfo () const |
Constant * | getAggregateElement (unsigned Elt) const |
Constant * | getAggregateElement (Constant *Elt) const |
Constant * | getSplatValue () const |
const APInt & | getUniqueInteger () const |
virtual void | replaceUsesOfWithOnConstant (Value *, Value *, Use *) |
void | removeDeadConstantUsers () const |
![]() | |
~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) |
![]() | |
Function * | getPrevNode () |
Get the previous node, or 0 for the list head. More... | |
const Function * | getPrevNode () const |
Get the previous node, or 0 for the list head. More... | |
Function * | getNextNode () |
Get the next node, or 0 for the list tail. More... | |
const Function * | getNextNode () const |
Get the next node, or 0 for the list tail. More... | |
Friends | |
class | SymbolTableListTraits< Function, Module > |
Additional Inherited Members | |
![]() | |
static const unsigned | MaximumAlignment = 1u << 29 |
![]() | |
GlobalValue (Type *ty, ValueTy vty, Use *Ops, unsigned NumOps, LinkageTypes linkage, const Twine &Name) | |
![]() | |
Constant (Type *ty, ValueTy vty, Use *Ops, unsigned NumOps) | |
void | destroyConstantImpl () |
![]() | |
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) |
![]() | |
ilist_node () | |
![]() | |
template<int Idx, typename U > | |
static Use & | OpFrom (const U *that) |
![]() | |
LinkageTypes | Linkage: 5 |
unsigned | Visibility: 2 |
unsigned | Alignment: 16 |
unsigned | UnnamedAddr: 1 |
Module * | Parent |
std::string | Section |
![]() | |
Use * | OperandList |
unsigned | NumOperands |
![]() | |
unsigned char | SubclassOptionalData: 7 |
Definition at line 70 of file Function.h.
Definition at line 80 of file Function.h.
Definition at line 73 of file Function.h.
Definition at line 74 of file Function.h.
Definition at line 81 of file Function.h.
Definition at line 78 of file Function.h.
Definition at line 77 of file Function.h.
Function::~Function | ( | ) |
Definition at line 219 of file Function.cpp.
References llvm::iplist< NodeTy, Traits >::clear(), clearGC(), dropAllReferences(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT >::erase(), getContext(), llvm::Value::getValueName(), llvm::LLVMContextImpl::IntrinsicIDCache, isIntrinsic(), and llvm::LLVMContext::pImpl.
void Function::addAttribute | ( | unsigned | i, |
Attribute::AttrKind | attr | ||
) |
adds the attribute to the list of attributes.
Definition at line 284 of file Function.cpp.
References llvm::AttributeSet::addAttribute(), getAttributes(), getContext(), and setAttributes().
Referenced by setDoesNotAccessMemory(), setDoesNotAlias(), setDoesNotCapture(), and setOnlyReadsMemory().
void Function::addAttributes | ( | unsigned | i, |
AttributeSet | attrs | ||
) |
adds the attributes to the list of attributes.
Definition at line 290 of file Function.cpp.
References llvm::AttributeSet::addAttributes(), getAttributes(), getContext(), and setAttributes().
Referenced by llvm::Argument::addAttr(), LLVMAddTargetDependentFunctionAttr(), and removeUseSoftFloat().
|
inline |
Add function attributes to this function.
Definition at line 176 of file Function.h.
References llvm::AttributeSet::addAttribute(), getContext(), and setAttributes().
Referenced by AdjustCallerSSPLevel(), assureFPCallStub(), createFPFnStub(), llvm::MipsOs16::runOnModule(), setCannotDuplicate(), setDoesNotAccessMemory(), setDoesNotReturn(), setDoesNotThrow(), setHasUWTable(), and setOnlyReadsMemory().
|
inline |
Add function attributes to this function.
Definition at line 188 of file Function.h.
References llvm::AttributeSet::addAttribute(), getContext(), and setAttributes().
Definition at line 193 of file Function.h.
References llvm::AttributeSet::addAttribute(), getContext(), and setAttributes().
|
inline |
Definition at line 410 of file Function.h.
References llvm::iplist< NodeTy, Traits >::begin().
Referenced by AddFastCallStdCallSuffix(), llvm::Interpreter::callFunction(), llvm::CloneAndPruneFunctionInto(), llvm::CloneFunction(), llvm::CloneFunctionInto(), llvm::CloneModule(), determinePointerReadAttrs(), EnsureFPIntrinsicsExist(), llvm::Argument::getArgNo(), llvm::objcarc::GetFunctionClass(), llvm::SparcTargetLowering::getSRetArgSize(), HasNestArgument(), llvm::ValueEnumerator::incorporateFunction(), llvm::InlineFunction(), isDynamicConstant(), llvm::AArch64TargetLowering::IsEligibleForTailCallOptimization(), LLVMGetFirstParam(), LLVMGetLastParam(), LLVMGetParams(), LLVMGetPreviousParam(), llvm::FastISel::LowerArguments(), llvm::NVPTXTargetLowering::LowerFormalArguments(), llvm::AssemblyWriter::printFunction(), UpgradeIntrinsicFunction1(), and WriteFunctionUseList().
|
inline |
Definition at line 414 of file Function.h.
References llvm::iplist< NodeTy, Traits >::begin().
bool Function::arg_empty | ( | ) | const |
Definition at line 251 of file Function.cpp.
References getFunctionType(), and llvm::FunctionType::getNumParams().
|
inline |
Definition at line 418 of file Function.h.
References llvm::iplist< NodeTy, Traits >::end().
Referenced by AddFastCallStdCallSuffix(), llvm::Interpreter::callFunction(), llvm::CloneAndPruneFunctionInto(), llvm::CloneFunction(), llvm::CloneFunctionInto(), determinePointerReadAttrs(), EnsureFPIntrinsicsExist(), llvm::objcarc::GetFunctionClass(), HasNestArgument(), llvm::ValueEnumerator::incorporateFunction(), llvm::InlineFunction(), llvm::AArch64TargetLowering::IsEligibleForTailCallOptimization(), LLVMGetFirstParam(), LLVMGetLastParam(), LLVMGetNextParam(), LLVMGetParams(), llvm::FastISel::LowerArguments(), llvm::NVPTXTargetLowering::LowerFormalArguments(), llvm::AssemblyWriter::printFunction(), and WriteFunctionUseList().
|
inline |
Definition at line 422 of file Function.h.
References llvm::iplist< NodeTy, Traits >::end().
size_t Function::arg_size | ( | ) | const |
Definition at line 248 of file Function.cpp.
References getFunctionType(), and llvm::FunctionType::getNumParams().
Referenced by llvm::X86FrameLowering::adjustForHiPEPrologue(), llvm::Interpreter::callFunction(), llvm::InlineFunction(), needsFPStubFromParams(), UpgradeIntrinsicFunction1(), and whichFPParamVariantNeeded().
|
inline |
Definition at line 404 of file Function.h.
References llvm::iplist< NodeTy, Traits >::back().
Referenced by llvm::InlineFunction().
|
inline |
Definition at line 405 of file Function.h.
References llvm::iplist< NodeTy, Traits >::back().
|
inline |
Definition at line 395 of file Function.h.
References llvm::iplist< NodeTy, Traits >::begin().
Referenced by llvm::Interpreter::callFunction(), llvm::CloneAndPruneFunctionInto(), llvm::CloneFunctionInto(), ComputePostOrders(), cxxDtorIsEmpty(), llvm::InstCombiner::DoOneIteration(), dropAllReferences(), llvm::dumpBlock(), llvm::AsmPrinter::EmitFunctionBody(), fixupFPReturnAndCall(), getCommonReturnValue(), llvm::GraphTraits< BlockFrequencyInfo * >::getEntryNode(), HandleByValArgument(), llvm::ValueEnumerator::incorporateFunction(), IncorporateFunctionInfoGlobalBBIDs(), llvm::InlineFunction(), llvm::InlineCostAnalysis::isInlineViable(), isOnlyUsedInEntryBlock(), iterativelyFlattenCFG(), iterativelySimplifyCFG(), LLVMGetBasicBlocks(), LLVMGetFirstBasicBlock(), LLVMGetLastBasicBlock(), LLVMGetPreviousBasicBlock(), llvm::LowerDbgDeclare(), mergeEmptyReturnBlocks(), llvm::GraphTraits< BlockFrequencyInfo * >::nodes_begin(), llvm::GraphTraits< Function * >::nodes_begin(), llvm::GraphTraits< const Function * >::nodes_begin(), llvm::BranchProbabilityInfo::print(), llvm::SparseSolver::Print(), llvm::AssemblyWriter::printFunction(), llvm::removeUnreachableBlocks(), llvm::NVPTXSplitBBatBar::runOnFunction(), llvm::NVPTXLowerAggrCopies::runOnFunction(), llvm::UnifyFunctionExitNodes::runOnFunction(), llvm::Inliner::runOnSCC(), llvm::FunctionLoweringInfo::set(), SplitCriticalSideEffectEdges(), llvm::InstVisitor< ObjectSizeOffsetVisitor, SizeOffsetType >::visit(), WriteFunction(), WriteFunctionUseList(), and WriteMetadataAttachment().
|
inline |
Definition at line 396 of file Function.h.
References llvm::iplist< NodeTy, Traits >::begin().
bool Function::callsFunctionThatReturnsTwice | ( | ) | const |
callsFunctionThatReturnsTwice - Return true if the function has a call to setjmp or other function that gcc recognizes as "returning twice".
Definition at line 728 of file Function.cpp.
References llvm::CallInst::canReturnTwice(), llvm::dyn_cast(), I, llvm::inst_begin(), and llvm::inst_end().
Referenced by llvm::SelectionDAGISel::runOnMachineFunction().
|
inline |
Determine if the call cannot be duplicated.
Definition at line 274 of file Function.h.
References llvm::AttributeSet::hasAttribute(), and llvm::Attribute::NoDuplicate.
Methods for support type inquiry through isa, cast, and dyn_cast:
Definition at line 453 of file Function.h.
References llvm::Value::FunctionVal, and llvm::Value::getValueID().
void Function::clearGC | ( | ) |
Definition at line 330 of file Function.cpp.
References llvm::StringPool::empty(), GCLock, GCNamePool, and GCNames.
Referenced by copyAttributesFrom(), LLVMSetGC(), and ~Function().
|
virtual |
copyAttributesFrom - copy all additional attributes (those not needed to create a Function) from the Function Src to this one.
Reimplemented from llvm::GlobalValue.
Definition at line 347 of file Function.cpp.
References clearGC(), llvm::GlobalValue::copyAttributesFrom(), getAttributes(), getCallingConv(), getGC(), getPrefixData(), hasGC(), hasPrefixData(), setAttributes(), setCallingConv(), setGC(), and setPrefixData().
Referenced by llvm::CloneModule().
|
inlinestatic |
Definition at line 128 of file Function.h.
Referenced by llvm::CloneFunction(), llvm::CloneModule(), llvm::Module::getOrInsertFunction(), LLVMAddFunction(), llvm::JIT::runFunction(), and UpgradeIntrinsicFunction1().
|
inline |
deleteBody - This method deletes the body of the function, and converts the linkage to external.
Definition at line 343 of file Function.h.
References dropAllReferences(), llvm::GlobalValue::ExternalLinkage, and llvm::GlobalValue::setLinkage().
Referenced by llvm::BitcodeReader::Dematerialize().
|
inline |
Determine if the function does not access memory.
Definition at line 237 of file Function.h.
References llvm::AttributeSet::hasAttribute(), and llvm::Attribute::ReadNone.
Referenced by onlyReadsMemory().
Definition at line 321 of file Function.h.
References llvm::AttributeSet::hasAttribute(), and llvm::Attribute::ReadNone.
Determine if the parameter does not alias other parameters.
n | The parameter to check. 1 is the first parameter, 0 is the return |
Definition at line 305 of file Function.h.
References llvm::AttributeSet::hasAttribute(), and llvm::Attribute::NoAlias.
Determine if the parameter can be captured.
n | The parameter to check. 1 is the first parameter, 0 is the return |
Definition at line 314 of file Function.h.
References llvm::AttributeSet::hasAttribute(), and llvm::Attribute::NoCapture.
|
inline |
Determine if the function cannot return.
Definition at line 256 of file Function.h.
References llvm::AttributeSet::hasAttribute(), and llvm::Attribute::NoReturn.
|
inline |
Determine if the function cannot unwind.
Definition at line 265 of file Function.h.
References llvm::AttributeSet::hasAttribute(), and llvm::Attribute::NoUnwind.
Referenced by llvm::DwarfException::CallToNoUnwindFunction(), needsUnwindTableEntry(), and llvm::InstCombiner::visitCallInst().
void Function::dropAllReferences | ( | ) |
dropAllReferences() - This method causes all the subinstructions to "let go" of all references that they are maintaining. This allows one to 'delete' a whole module at a time, even though there may be circular references... first all references are dropped, and all use counts go to zero. Then everything is deleted for real. Note that no operations are valid on an object that has "dropped all references", except operator delete.
Since no other object in the module can have references into the body of a function, dropping all references deletes the entire body of the function, including any contained basic blocks.
Definition at line 271 of file Function.cpp.
References llvm::iplist< NodeTy, Traits >::begin(), begin(), llvm::iplist< NodeTy, Traits >::empty(), end(), I, and setPrefixData().
Referenced by deleteBody(), and ~Function().
|
inline |
Definition at line 401 of file Function.h.
References llvm::iplist< NodeTy, Traits >::empty().
|
inline |
Definition at line 397 of file Function.h.
References llvm::iplist< NodeTy, Traits >::end().
Referenced by llvm::CloneAndPruneFunctionInto(), llvm::CloneFunctionInto(), ComputePostOrders(), cxxDtorIsEmpty(), llvm::InstCombiner::DoOneIteration(), dropAllReferences(), llvm::dumpBlock(), llvm::AsmPrinter::EmitFunctionBody(), fixupFPReturnAndCall(), fixupLineNumbers(), getCommonReturnValue(), HandleInlinedInvoke(), llvm::ValueEnumerator::incorporateFunction(), IncorporateFunctionInfoGlobalBBIDs(), llvm::InlineFunction(), llvm::InlineCostAnalysis::isInlineViable(), iterativelyFlattenCFG(), iterativelySimplifyCFG(), LLVMGetBasicBlocks(), LLVMGetFirstBasicBlock(), LLVMGetLastBasicBlock(), LLVMGetNextBasicBlock(), llvm::LowerDbgDeclare(), mergeEmptyReturnBlocks(), llvm::GraphTraits< BlockFrequencyInfo * >::nodes_end(), llvm::GraphTraits< Function * >::nodes_end(), llvm::GraphTraits< const Function * >::nodes_end(), PlaceSplitBlockCarefully(), llvm::BranchProbabilityInfo::print(), llvm::SparseSolver::Print(), llvm::AssemblyWriter::printFunction(), llvm::removeUnreachableBlocks(), llvm::NVPTXSplitBBatBar::runOnFunction(), llvm::NVPTXLowerAggrCopies::runOnFunction(), llvm::UnifyFunctionExitNodes::runOnFunction(), llvm::Inliner::runOnSCC(), llvm::FunctionLoweringInfo::set(), SplitCriticalSideEffectEdges(), llvm::UnrollRuntimeLoopProlog(), llvm::InstVisitor< ObjectSizeOffsetVisitor, SizeOffsetType >::visit(), WriteFunction(), WriteFunctionUseList(), and WriteMetadataAttachment().
|
inline |
Definition at line 398 of file Function.h.
References llvm::iplist< NodeTy, Traits >::end().
|
virtual |
eraseFromParent - This method unlinks 'this' from the containing module and deletes it.
Implements llvm::GlobalValue.
Definition at line 187 of file Function.cpp.
References llvm::iplist< NodeTy, Traits >::erase(), llvm::Module::getFunctionList(), and llvm::GlobalValue::getParent().
Referenced by INITIALIZE_PASS(), llvm::JIT::runFunction(), and llvm::UpgradeCallsToIntrinsic().
|
inline |
Definition at line 402 of file Function.h.
References llvm::iplist< NodeTy, Traits >::front().
Referenced by getEntryBlock(), llvm::IntervalIterator< NodeTy, OrigContainer_t, GT, IGT >::IntervalIterator(), and llvm::AllocaInst::isStaticAlloca().
|
inline |
Definition at line 403 of file Function.h.
References llvm::iplist< NodeTy, Traits >::front().
|
inline |
Get the underlying elements of the Function... the basic block list is empty for external functions.
Definition at line 362 of file Function.h.
Referenced by llvm::Argument::Argument().
|
inline |
Definition at line 366 of file Function.h.
|
inline |
Return the attribute list for this Function.
Definition at line 170 of file Function.h.
Referenced by addAttribute(), addAttributes(), AdjustCallerSSPLevel(), llvm::AMDGPUMachineFunction::AMDGPUMachineFunction(), checkNumAlignedDPRCS2Regs(), llvm::CloneFunctionInto(), copyAttributesFrom(), llvm::PPCFrameLowering::determineFrameLayout(), llvm::PPCRegisterInfo::eliminateFrameIndex(), llvm::PPCTargetLowering::emitEHSjLjSetJmp(), llvm::XCoreFrameLowering::emitPrologue(), llvm::X86FrameLowering::emitPrologue(), ExpandPowI(), llvm::X86InstrInfo::foldMemoryOperandImpl(), llvm::Inliner::getInlineThreshold(), llvm::MemoryDependenceAnalysis::getLoadLoadClobberFullWidthSize(), getMemcpyLoadsAndStores(), getMemmoveLoadsAndStores(), getMemsetStores(), llvm::ARMBaseInstrInfo::getOperandLatency(), llvm::ARMTargetLowering::getOptimalMemOpType(), llvm::X86TargetLowering::getOptimalMemOpType(), llvm::Argument::hasByValAttr(), llvm::Argument::hasNestAttr(), llvm::Argument::hasNoAliasAttr(), llvm::Argument::hasNoCaptureAttr(), llvm::Argument::hasReturnedAttr(), llvm::Argument::hasStructRetAttr(), llvm::ValueEnumerator::incorporateFunction(), llvm::InlineCostAnalysis::isInlineViable(), llvm::TargetLowering::isInTailCallPosition(), LLVMAddFunctionAttr(), LLVMGetAttribute(), LLVMGetFunctionAttr(), LLVMRemoveFunctionAttr(), llvm::NVPTXTargetLowering::LowerFormalArguments(), llvm::MachineFunction::MachineFunction(), llvm::PPCFrameLowering::needsFP(), llvm::PPCRegisterInfo::needsStackRealignment(), llvm::X86RegisterInfo::needsStackRealignment(), llvm::ARMBaseRegisterInfo::needsStackRealignment(), llvm::Argument::onlyReadsMemory(), PerformSTORECombine(), llvm::AssemblyWriter::printFunction(), ProfitableToMerge(), removeAttributes(), llvm::Inliner::removeDeadFunctions(), RemoveNestAttribute(), llvm::MipsSubtarget::resetSubtarget(), llvm::PPCSubtarget::resetSubtargetFeatures(), llvm::X86Subtarget::resetSubtargetFeatures(), llvm::ARMSubtarget::resetSubtargetFeatures(), llvm::returnTypeIsEligibleForTailCall(), llvm::InstCombiner::runOnFunction(), llvm::StackProtector::runOnFunction(), llvm::FunctionLoweringInfo::set(), and llvm::InstCombiner::visitFPTrunc().
|
inline |
Definition at line 374 of file Function.h.
Referenced by llvm::CloneAndPruneFunctionInto(), llvm::BasicBlock::eraseFromParent(), llvm::InlineFunction(), llvm::BasicBlock::moveAfter(), llvm::BasicBlock::moveBefore(), llvm::BasicBlock::removeFromParent(), llvm::removeUnreachableBlocks(), llvm::SplitCriticalEdge(), llvm::UnrollLoop(), and llvm::UnrollRuntimeLoopProlog().
|
inline |
Definition at line 375 of file Function.h.
|
inline |
getCallingConv()/setCallingConv(CC) - These method get and set the calling convention of this function. The enum values for the known calling conventions are defined in CallingConv.h.
Definition at line 161 of file Function.h.
References llvm::Value::getSubclassDataFromValue().
Referenced by copyAttributesFrom(), llvm::ARMFrameLowering::emitEpilogue(), llvm::PPCFrameLowering::emitEpilogue(), llvm::ARMFrameLowering::emitPrologue(), llvm::MSP430RegisterInfo::getCalleeSavedRegs(), llvm::ARMBaseRegisterInfo::getCalleeSavedRegs(), llvm::X86RegisterInfo::getCalleeSavedRegs(), llvm::X86RegisterInfo::getPointerRegClass(), llvm::X86RegisterInfo::getReservedRegs(), GetScratchRegister(), llvm::HexagonTargetLowering::IsEligibleForTailCallOptimization(), llvm::AArch64TargetLowering::IsEligibleForTailCallOptimization(), llvm::isKernelFunction(), llvm::AssemblyWriter::printFunction(), profileFunction(), llvm::JIT::runFunction(), and llvm::FunctionLoweringInfo::set().
LLVMContext & Function::getContext | ( | ) | const |
getContext - Return a pointer to the LLVMContext associated with this function, or NULL if this function is not bound to a context yet.
Definition at line 167 of file Function.cpp.
References llvm::Type::getContext(), and llvm::GlobalValue::getType().
Referenced by llvm::Argument::addAttr(), addAttribute(), addAttributes(), addFnAttr(), AdjustCallerSSPLevel(), llvm::DwarfDebug::beginFunction(), llvm::DwarfDebug::beginInstruction(), llvm::CloneFunctionInto(), llvm::ConstantFoldCall(), createFPFnStub(), duplicateCPV(), llvm::NVPTXAsmPrinter::emitLineNumberAsDotLoc(), llvm::Thumb2RegisterInfo::emitLoadConstPool(), llvm::Thumb1RegisterInfo::emitLoadConstPool(), llvm::ARMBaseRegisterInfo::emitLoadConstPool(), llvm::FastISel::FastEmit_ri_(), llvm::LexicalScopes::findLexicalScope(), llvm::X86InstrInfo::foldMemoryOperandImpl(), llvm::BlockAddress::get(), llvm::ScalarEvolution::getContext(), getIntrinsicID(), getPrefixData(), llvm::SelectionDAG::init(), INITIALIZE_PASS(), insertFastDiv(), llvm::isFreeCall(), LLVMAddFunctionAttr(), LLVMAddTargetDependentFunctionAttr(), LLVMRemoveFunctionAttr(), llvm::NVPTXTargetLowering::LowerCall(), llvm::NVPTXTargetLowering::LowerFormalArguments(), llvm::NVPTXTargetLowering::LowerReturn(), printDebugLoc(), llvm::Argument::removeAttr(), removeAttributes(), removeFnAttr(), RemoveNestAttribute(), removeUseSoftFloat(), llvm::JIT::runFunction(), llvm::ExecutionEngine::runFunctionAsMain(), llvm::UnifyFunctionExitNodes::runOnFunction(), llvm::InstCombiner::runOnFunction(), llvm::FunctionLoweringInfo::set(), setPrefixData(), llvm::UpgradeIntrinsicFunction(), UpgradeIntrinsicFunction1(), UpgradeSSE41Function(), and ~Function().
|
inline |
Definition at line 380 of file Function.h.
References front().
Referenced by CanTRE(), llvm::CloneAndPruneFunctionInto(), llvm::CloneBasicBlock(), ComputePostOrders(), CreatePrologue(), cxxDtorIsEmpty(), llvm::DemotePHIToStack(), llvm::DemoteRegToStack(), llvm::FindFunctionBackedges(), llvm::MemoryDependenceAnalysis::getDependency(), llvm::GraphTraits< Function * >::getEntryNode(), llvm::GraphTraits< const Function * >::getEntryNode(), llvm::GraphTraits< Inverse< Function * > >::getEntryNode(), llvm::GraphTraits< Inverse< const Function * > >::getEntryNode(), llvm::MemoryDependenceAnalysis::getNonLocalCallDependency(), llvm::MemoryDependenceAnalysis::getPointerDependencyFrom(), llvm::InlineFunction(), llvm::SelectionDAGBuilder::isExportableFromCurrentBlock(), llvm::isPotentiallyReachable(), NegateValue(), llvm::AssemblyWriter::printBasicBlock(), llvm::BranchProbabilityInfo::runOnFunction(), llvm::RegionInfo::runOnFunction(), llvm::SparseSolver::Solve(), llvm::TryToSimplifyUncondBranchFromEmptyBlock(), TryToSinkInstruction(), ValueDominatesPHI(), and llvm::InstCombiner::visitAllocaInst().
|
inline |
Definition at line 381 of file Function.h.
References front().
|
inline |
Return the attribute for the given attribute kind.
Definition at line 208 of file Function.h.
References llvm::AttributeSet::getAttribute().
Referenced by llvm::ARMBaseRegisterInfo::getCalleeSavedRegs(), and LowerInterruptReturn().
Definition at line 211 of file Function.h.
References llvm::AttributeSet::getAttribute().
FunctionType * Function::getFunctionType | ( | ) | const |
Definition at line 171 of file Function.cpp.
References llvm::SequentialType::getElementType(), and llvm::GlobalValue::getType().
Referenced by arg_empty(), arg_size(), assureFPCallStub(), llvm::Interpreter::callExternalFunction(), llvm::Interpreter::callFunction(), llvm::CloneFunction(), createFPFnStub(), FindCXAAtExit(), llvm::SimplifyFortifiedLibCalls::fold(), getAllocationData(), getReturnType(), llvm::InlineFunction(), llvm::isFreeCall(), isVarArg(), lookupFunction(), llvm::HexagonTargetLowering::LowerCall(), llvm::SITargetLowering::LowerFormalArguments(), needsFPStubFromParams(), llvm::AssemblyWriter::printFunction(), profileFunction(), llvm::Interpreter::runFunction(), llvm::JIT::runFunction(), llvm::MCJIT::runFunction(), llvm::ExecutionEngine::runFunctionAsMain(), UpgradeSSE41Function(), and whichFPParamVariantNeeded().
const char * Function::getGC | ( | ) | const |
Definition at line 315 of file Function.cpp.
References GCLock, and hasGC().
Referenced by copyAttributesFrom(), llvm::GCModuleInfo::getFunctionInfo(), llvm::InlineFunction(), LLVMGetGC(), and llvm::AssemblyWriter::printFunction().
unsigned Function::getIntrinsicID | ( | ) | const |
getIntrinsicID - This method returns the ID number of the specified function, or Intrinsic::not_intrinsic if the function is not an intrinsic, or if the pointer is null. This value is always defined to be zero to allow easy checking for whether a function is intrinsic or not. The particular intrinsic functions which correspond to this value are defined in llvm/Intrinsics.h. Results are cached in the LLVM context, subsequent requests for the same ID return results much faster from the cache.
Definition at line 371 of file Function.cpp.
References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT >::count(), getContext(), llvm::Value::getValueName(), llvm::tgtok::Id, llvm::LLVMContextImpl::IntrinsicIDCache, isIntrinsic(), and llvm::LLVMContext::pImpl.
Referenced by llvm::canConstantFoldCallTo(), llvm::ConstantFoldCall(), llvm::IntrinsicInst::getIntrinsicID(), llvm::IntrinsicLowering::LowerIntrinsicCall(), SimplifyCall(), llvm::UpgradeIntrinsicCall(), llvm::UpgradeIntrinsicFunction(), llvm::Interpreter::visitCallSite(), and llvm::InstCombiner::visitFPTrunc().
Extract the alignment for a call or parameter (0=unknown).
Definition at line 232 of file Function.h.
References llvm::AttributeSet::getParamAlignment().
Referenced by llvm::Argument::getParamAlignment(), and llvm::InlineFunction().
Constant * Function::getPrefixData | ( | ) | const |
Definition at line 741 of file Function.cpp.
References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT >::end(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT >::find(), getContext(), hasPrefixData(), llvm::LLVMContext::pImpl, and llvm::LLVMContextImpl::PrefixDataMap.
Referenced by copyAttributesFrom(), llvm::AsmPrinter::EmitFunctionHeader(), and llvm::AssemblyWriter::printFunction().
Type * Function::getReturnType | ( | ) | const |
Definition at line 179 of file Function.cpp.
References getFunctionType(), and llvm::FunctionType::getReturnType().
Referenced by assureFPCallStub(), llvm::Interpreter::callFunction(), llvm::ConstantFoldCall(), llvm::IRBuilderBase::getCurrentFunctionReturnType(), llvm::InlineFunction(), llvm::NVPTXTargetLowering::LowerReturn(), needsFPReturnHelper(), NumRetVals(), llvm::AssemblyWriter::printFunction(), llvm::UnifyFunctionExitNodes::runOnFunction(), llvm::FunctionLoweringInfo::set(), and UpgradeIntrinsicFunction1().
Definition at line 370 of file Function.h.
|
inlinestatic |
Definition at line 376 of file Function.h.
|
inline |
getSymbolTable() - Return the symbol table...
Definition at line 388 of file Function.h.
Referenced by llvm::ilist_traits< BasicBlock >::getSymTab(), llvm::ilist_traits< Argument >::getSymTab(), and WriteFunction().
|
inline |
Definition at line 389 of file Function.h.
hasAddressTaken - returns true if there are any uses of this function other than direct calls or invokes to it, or blockaddress expressions. Optionally passes back an offending user for diagnostic purposes.
hasAddressTaken - returns true if there are any uses of this function other than direct calls or invokes to it.
Definition at line 698 of file Function.cpp.
References I, llvm::Value::use_begin(), and llvm::Value::use_end().
|
inline |
Return true if the function has the attribute.
Definition at line 200 of file Function.h.
References llvm::AttributeSet::hasAttribute().
Referenced by attributeMatches(), llvm::PPCRegisterInfo::canRealignStack(), llvm::X86RegisterInfo::canRealignStack(), llvm::ARMBaseRegisterInfo::canRealignStack(), llvm::TargetOptions::DisableFramePointerElim(), llvm::ARMBaseRegisterInfo::getCalleeSavedRegs(), llvm::InlineCostAnalysis::getInlineCost(), llvm::MipsTargetLowering::getOpndList(), hasReturnsTwiceAttr(), llvm::MachineFunction::MachineFunction(), removeUseSoftFloat(), llvm::PEI::runOnMachineFunction(), llvm::SelectionDAGISel::runOnMachineFunction(), llvm::Mips16HardFloat::runOnModule(), and llvm::tryFoldSPUpdateIntoPushPop().
Definition at line 203 of file Function.h.
References llvm::AttributeSet::hasAttribute().
bool Function::hasGC | ( | ) | const |
hasGC/getGC/setGC/clearGC - The name of the garbage collection algorithm to use during code generation.
Definition at line 310 of file Function.cpp.
References GCLock, and GCNames.
Referenced by copyAttributesFrom(), llvm::GCModuleInfo::getFunctionInfo(), getGC(), llvm::InlineFunction(), LLVMGetGC(), llvm::AssemblyWriter::printFunction(), profileFunction(), and llvm::SelectionDAGISel::runOnMachineFunction().
|
inline |
Definition at line 430 of file Function.h.
References llvm::Value::getSubclassDataFromValue().
Referenced by copyAttributesFrom(), llvm::AsmPrinter::EmitFunctionHeader(), getPrefixData(), llvm::AssemblyWriter::printFunction(), and setPrefixData().
|
inline |
Determine if the function returns a structure through first pointer argument.
Definition at line 299 of file Function.h.
References llvm::AttributeSet::hasAttribute(), and llvm::Attribute::StructRet.
Referenced by llvm::SparcTargetLowering::getSRetArgSize(), llvm::HexagonTargetLowering::LowerCall(), llvm::AArch64TargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerFormalArguments_32(), and llvm::SparcTargetLowering::LowerReturn_32().
|
inline |
True if the ABI mandates (or the user requested) that this function be in a unwind table.
Definition at line 284 of file Function.h.
References llvm::AttributeSet::hasAttribute(), and llvm::Attribute::UWTable.
Referenced by needsUnwindTableEntry().
bool Function::isDefTriviallyDead | ( | ) | const |
isDefTriviallyDead - Return true if it is trivially safe to remove this function definition from the module (because it isn't externally visible, does not have its address taken, and has no callers). To make this more accurate, call removeDeadConstantUsers first.
Definition at line 712 of file Function.cpp.
References llvm::GlobalValue::hasAvailableExternallyLinkage(), llvm::GlobalValue::hasLinkOnceLinkage(), llvm::GlobalValue::hasLocalLinkage(), I, llvm::Value::use_begin(), and llvm::Value::use_end().
Referenced by llvm::Inliner::removeDeadFunctions().
|
inline |
Definition at line 156 of file Function.h.
References llvm::Value::getName(), and llvm::StringRef::startswith().
Referenced by llvm::CallGraphNode::addCalledFunction(), getIntrinsicID(), llvm::Module::getOrInsertFunction(), and ~Function().
bool Function::isVarArg | ( | ) | const |
isVarArg - Return true if this function takes a variable number of arguments.
Definition at line 175 of file Function.cpp.
References getFunctionType(), and llvm::FunctionType::isVarArg().
Referenced by llvm::X86FrameLowering::adjustForSegmentedStacks(), determinePointerReadAttrs(), llvm::HexagonTargetLowering::LowerCall(), llvm::SystemZFrameLowering::processFunctionBeforeCalleeSavedScan(), llvm::XCoreFrameLowering::processFunctionBeforeCalleeSavedScan(), llvm::FunctionLoweringInfo::set(), and llvm::SystemZFrameLowering::spillCalleeSavedRegisters().
|
inline |
True if this function needs an unwind table.
Definition at line 293 of file Function.h.
References doesNotThrow(), and hasUWTable().
Referenced by llvm::ARMException::BeginFunction(), llvm::PPCFrameLowering::emitPrologue(), llvm::X86FrameLowering::emitPrologue(), llvm::AArch64FrameLowering::emitPrologue(), llvm::ARMException::EndFunction(), llvm::AsmPrinter::needsCFIMoves(), llvm::XCoreRegisterInfo::needsFrameMoves(), and llvm::AsmPrinter::needsSEHMoves().
|
inline |
Determine if the function does not access or only reads memory.
Definition at line 246 of file Function.h.
References doesNotAccessMemory(), llvm::AttributeSet::hasAttribute(), and llvm::Attribute::ReadOnly.
Referenced by HandleByValArgument().
Definition at line 328 of file Function.h.
References doesNotAccessMemory(), llvm::AttributeSet::hasAttribute(), and llvm::Attribute::ReadOnly.
void Function::removeAttributes | ( | unsigned | i, |
AttributeSet | attr | ||
) |
removes the attributes from the list of attributes.
Definition at line 296 of file Function.cpp.
References getAttributes(), getContext(), llvm::AttributeSet::removeAttributes(), and setAttributes().
Referenced by AdjustCallerSSPLevel(), llvm::Argument::removeAttr(), and removeUseSoftFloat().
|
inline |
Remove function attributes from this function.
Definition at line 182 of file Function.h.
References getContext(), llvm::AttributeSet::removeAttribute(), and setAttributes().
|
virtual |
removeFromParent - This method unlinks 'this' from the containing module, but does not delete it.
Implements llvm::GlobalValue.
Definition at line 183 of file Function.cpp.
References llvm::Module::getFunctionList(), llvm::GlobalValue::getParent(), and llvm::iplist< NodeTy, Traits >::remove().
|
inline |
Set the attribute list for this Function.
Definition at line 173 of file Function.h.
Referenced by addAttribute(), addAttributes(), addFnAttr(), llvm::CloneFunctionInto(), copyAttributesFrom(), llvm::Module::getOrInsertFunction(), LLVMAddFunctionAttr(), LLVMRemoveFunctionAttr(), removeAttributes(), removeFnAttr(), RemoveNestAttribute(), and llvm::UpgradeIntrinsicFunction().
|
inline |
Definition at line 164 of file Function.h.
References llvm::Value::getSubclassDataFromValue().
Referenced by copyAttributesFrom().
|
inline |
Definition at line 278 of file Function.h.
References addFnAttr(), and llvm::Attribute::NoDuplicate.
|
inline |
Definition at line 241 of file Function.h.
References addFnAttr(), and llvm::Attribute::ReadNone.
|
inline |
Definition at line 324 of file Function.h.
References addAttribute(), and llvm::Attribute::ReadNone.
|
inline |
Definition at line 308 of file Function.h.
References addAttribute(), and llvm::Attribute::NoAlias.
|
inline |
Definition at line 317 of file Function.h.
References addAttribute(), and llvm::Attribute::NoCapture.
|
inline |
Definition at line 260 of file Function.h.
References addFnAttr(), and llvm::Attribute::NoReturn.
|
inline |
Definition at line 269 of file Function.h.
References addFnAttr(), and llvm::Attribute::NoUnwind.
void Function::setGC | ( | const char * | Str | ) |
Definition at line 321 of file Function.cpp.
References GCLock, GCNamePool, GCNames, and llvm::StringPool::intern().
Referenced by copyAttributesFrom(), llvm::InlineFunction(), and LLVMSetGC().
|
inline |
Definition at line 288 of file Function.h.
References addFnAttr(), and llvm::Attribute::UWTable.
|
inline |
Definition at line 251 of file Function.h.
References addFnAttr(), and llvm::Attribute::ReadOnly.
|
inline |
Definition at line 332 of file Function.h.
References addAttribute(), and llvm::Attribute::ReadOnly.
void Function::setPrefixData | ( | Constant * | PrefixData | ) |
Definition at line 749 of file Function.cpp.
References llvm::ReturnInst::Create(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT >::erase(), getContext(), llvm::Value::getSubclassDataFromValue(), hasPrefixData(), llvm::LLVMContext::pImpl, llvm::LLVMContextImpl::PrefixDataMap, and llvm::User::setOperand().
Referenced by copyAttributesFrom(), and dropAllReferences().
|
inline |
Definition at line 400 of file Function.h.
References llvm::iplist< NodeTy, Traits >::size().
Referenced by profileFunction(), llvm::removeUnreachableBlocks(), llvm::GraphTraits< Function * >::size(), and llvm::GraphTraits< const Function * >::size().
void llvm::Function::viewCFG | ( | ) | const |
viewCFG - This function is meant for use from the debugger. You can just say 'call F->viewCFG()' and a ghostview window should pop up from the program, displaying the CFG of the current function with the code for each basic block inside. This depends on there being a 'dot' and 'gv' program in your path.
Referenced by LLVMViewFunctionCFG().
void llvm::Function::viewCFGOnly | ( | ) | const |
viewCFGOnly - This function is meant for use from the debugger. It works just like viewCFG, but it does not include the contents of basic blocks into the nodes, just the label. If you are only interested in the CFG this can make the graph smaller.
Referenced by LLVMViewFunctionCFGOnly().
|
friend |
Definition at line 96 of file Function.h.