LLVM API Documentation
#include <Function.h>
Public Types | |
| typedef iplist< Argument > | ArgumentListType |
| typedef iplist< BasicBlock > | BasicBlockListType |
| typedef BasicBlockListType::iterator | iterator |
| typedef BasicBlockListType::const_iterator | const_iterator |
| typedef ArgumentListType::iterator | arg_iterator |
| typedef ArgumentListType::const_iterator | const_arg_iterator |
Public Member Functions | |
| ~Function () | |
| const Type * | getReturnType () const |
| const FunctionType * | getFunctionType () const |
| bool | isVarArg () const |
| virtual bool | isDeclaration () const |
| unsigned | getIntrinsicID (bool noAssert=false) const |
| bool | isIntrinsic () const |
| unsigned | getCallingConv () const |
| void | setCallingConv (unsigned CC) |
| const AttrListPtr & | getAttributes () const |
| void | setAttributes (const AttrListPtr &attrs) |
| bool | hasFnAttr (Attributes N) const |
| hasFnAttr - Return true if this function has the given attribute. | |
| void | addFnAttr (Attributes N) |
| void | removeFnAttr (Attributes N) |
| bool | hasGC () const |
| const char * | getGC () const |
| void | setGC (const char *Str) |
| void | clearGC () |
| bool | paramHasAttr (unsigned i, Attributes attr) const |
| Determine whether the function has the given attribute. | |
| void | addAttribute (unsigned i, Attributes attr) |
| addAttribute - adds the attribute to the list of attributes. | |
| void | removeAttribute (unsigned i, Attributes attr) |
| removeAttribute - removes the attribute from the list of attributes. | |
| unsigned | getParamAlignment (unsigned i) const |
| Extract the alignment for a call or parameter (0=unknown). | |
| bool | doesNotAccessMemory () const |
| Determine if the function does not access memory. | |
| void | setDoesNotAccessMemory (bool DoesNotAccessMemory=true) |
| bool | onlyReadsMemory () const |
| Determine if the function does not access or only reads memory. | |
| void | setOnlyReadsMemory (bool OnlyReadsMemory=true) |
| bool | doesNotReturn () const |
| Determine if the function cannot return. | |
| void | setDoesNotReturn (bool DoesNotReturn=true) |
| bool | doesNotThrow () const |
| Determine if the function cannot unwind. | |
| void | setDoesNotThrow (bool DoesNotThrow=true) |
| bool | hasStructRetAttr () const |
| Determine if the function returns a structure through first pointer argument. | |
| bool | doesNotAlias (unsigned n) const |
| Determine if the parameter does not alias other parameters. | |
| void | setDoesNotAlias (unsigned n, bool DoesNotAlias=true) |
| bool | doesNotCapture (unsigned n) const |
| Determine if the parameter can be captured. | |
| void | setDoesNotCapture (unsigned n, bool DoesNotCapture=true) |
| 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 |
| void | viewCFG () const |
| void | viewCFGOnly () const |
| void | dropAllReferences () |
Static Public Member Functions | |
| static Function * | Create (const FunctionType *Ty, LinkageTypes Linkage, const std::string &N="", Module *M=0) |
| static bool | classof (const Function *) |
| Methods for support type inquiry through isa, cast, and dyn_cast:. | |
| static bool | classof (const Value *V) |
| static unsigned | getBasicBlockListOffset () |
| static unsigned | getArgumentListOffset () |
Friends | |
| class | SymbolTableListTraits< Function, Module > |
Definition at line 54 of file Function.h.
Definition at line 57 of file Function.h.
Definition at line 58 of file Function.h.
| typedef BasicBlockListType::iterator llvm::Function::iterator |
Definition at line 61 of file Function.h.
| typedef BasicBlockListType::const_iterator llvm::Function::const_iterator |
Definition at line 62 of file Function.h.
| typedef ArgumentListType::iterator llvm::Function::arg_iterator |
Definition at line 64 of file Function.h.
| typedef ArgumentListType::const_iterator llvm::Function::const_arg_iterator |
Definition at line 65 of file Function.h.
| Function::~Function | ( | ) |
| static Function* llvm::Function::Create | ( | const FunctionType * | Ty, | |
| LinkageTypes | Linkage, | |||
| const std::string & | N = "", |
|||
| Module * | M = 0 | |||
| ) | [inline, static] |
Definition at line 105 of file Function.h.
References M.
Referenced by llvm::CloneFunction(), llvm::CloneModule(), llvm::Module::getOrInsertFunction(), and llvm::JIT::runFunction().
| const Type * Function::getReturnType | ( | ) | const |
Definition at line 143 of file Function.cpp.
References getFunctionType(), and llvm::FunctionType::getReturnType().
Referenced by llvm::Interpreter::callFunction(), llvm::ConstantFoldCall(), llvm::IRBuilder< preserveNames, T >::CreateAggregateRet(), getCommonReturnValue(), llvm::IA64TargetLowering::LowerArguments(), NumRetVals(), llvm::RemoveSuccessor(), llvm::UnifyFunctionExitNodes::runOnFunction(), and llvm::UpgradeIntrinsicCall().
| const FunctionType * Function::getFunctionType | ( | ) | const |
Definition at line 135 of file Function.cpp.
References llvm::SequentialType::getElementType(), and llvm::GlobalValue::getType().
Referenced by arg_empty(), arg_size(), llvm::Interpreter::callExternalFunction(), llvm::Interpreter::callFunction(), llvm::CloneFunction(), llvm::X86IntelAsmPrinter::decorateName(), llvm::X86ATTAsmPrinter::decorateName(), EvaluateFunction(), getReturnType(), isVarArg(), LinkFunctionProtos(), lookupFunction(), LowerPartSelect(), LowerPartSet(), llvm::JIT::runFunction(), llvm::Interpreter::runFunction(), llvm::ExecutionEngine::runFunctionAsMain(), llvm::UpgradeIntrinsicCall(), and UpgradeIntrinsicFunction1().
| bool Function::isVarArg | ( | ) | const |
isVarArg - Return true if this function takes a variable number of arguments.
Definition at line 139 of file Function.cpp.
References getFunctionType(), and llvm::FunctionType::isVarArg().
Referenced by llvm::SparcTargetLowering::LowerArguments(), llvm::TargetLowering::LowerArguments(), llvm::IA64TargetLowering::LowerArguments(), LowerRET(), and llvm::XCoreRegisterInfo::processFunctionBeforeCalleeSavedScan().
| virtual bool llvm::Function::isDeclaration | ( | ) | const [inline, virtual] |
isDeclaration - Is the body of this function unknown? (The basic block list is empty if so.) This is true for function declarations, but not true for function definitions.
Implements llvm::GlobalValue.
Definition at line 123 of file Function.h.
Referenced by llvm::Interpreter::callFunction(), llvm::BitcodeReader::dematerializeFunction(), EvaluateFunction(), GetAllUndefinedSymbols(), llvm::GCModuleInfo::getFunctionInfo(), llvm::InlineCostAnalyzer::getInlineCost(), llvm::JIT::getPointerToFunction(), llvm::BasicInlinerImpl::inlineFunctions(), LinkFunctionBodies(), LinkFunctionBody(), LinkFunctionProtos(), LowerPartSelect(), LowerPartSet(), llvm::FunctionPass::run(), llvm::FPPassManager::runOnFunction(), llvm::Inliner::runOnSCC(), llvm::verifyFunction(), and llvm::Interpreter::visitCallSite().
| unsigned Function::getIntrinsicID | ( | bool | noAssert = false |
) | const |
getIntrinsicID - This method returns the ID number of the specified function, or Intrinsic::not_intrinsic if the function is not an instrinsic, 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.
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.
Definition at line 307 of file Function.cpp.
References llvm::StringMapEntry< ValueTy >::getKeyData(), llvm::StringMapEntryBase::getKeyLength(), llvm::Value::getValueName(), and Name.
Referenced by llvm::canConstantFoldCallTo(), llvm::IntrinsicInst::getIntrinsicID(), isIntrinsic(), llvm::IntrinsicLowering::LowerIntrinsicCall(), llvm::UpgradeIntrinsicCall(), llvm::UpgradeIntrinsicFunction(), and llvm::Interpreter::visitCallSite().
| bool llvm::Function::isIntrinsic | ( | ) | const [inline] |
Definition at line 133 of file Function.h.
References getIntrinsicID().
Referenced by llvm::Module::getOrInsertFunction().
| unsigned llvm::Function::getCallingConv | ( | ) | const [inline] |
getCallingConv()/setCallingConv(uint) - 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 138 of file Function.h.
References llvm::Value::SubclassData.
Referenced by calculateFunctionInfo(), copyAttributesFrom(), llvm::X86IntelAsmPrinter::decorateName(), llvm::X86ATTAsmPrinter::decorateName(), llvm::PPCRegisterInfo::emitEpilogue(), equals(), llvm::InlineCostAnalyzer::getInlineCost(), llvm::X86TargetLowering::IsEligibleForTailCallOptimization(), llvm::PPCTargetLowering::IsEligibleForTailCallOptimization(), llvm::TargetLowering::LowerArguments(), LowerRET(), llvm::JIT::runFunction(), llvm::X86IntelAsmPrinter::runOnMachineFunction(), and llvm::X86ATTAsmPrinter::runOnMachineFunction().
| void llvm::Function::setCallingConv | ( | unsigned | CC | ) | [inline] |
Definition at line 139 of file Function.h.
References llvm::Value::SubclassData.
Referenced by copyAttributesFrom().
| const AttrListPtr& llvm::Function::getAttributes | ( | ) | const [inline] |
getAttributes - Return the attribute list for this Function.
Definition at line 145 of file Function.h.
Referenced by addAttribute(), llvm::CloneFunctionInto(), copyAttributesFrom(), equals(), llvm::ValueEnumerator::incorporateFunction(), removeAttribute(), RemoveNestAttribute(), and llvm::UpgradeIntrinsicCall().
| void llvm::Function::setAttributes | ( | const AttrListPtr & | attrs | ) | [inline] |
setAttributes - Set the attribute list for this Function.
Definition at line 149 of file Function.h.
Referenced by addAttribute(), llvm::CloneFunctionInto(), copyAttributesFrom(), llvm::Module::getOrInsertFunction(), removeAttribute(), RemoveNestAttribute(), and llvm::UpgradeIntrinsicFunction().
| bool llvm::Function::hasFnAttr | ( | Attributes | N | ) | const [inline] |
hasFnAttr - Return true if this function has the given attribute.
Definition at line 152 of file Function.h.
References llvm::AttrListPtr::paramHasAttr().
Referenced by doesNotAccessMemory(), doesNotReturn(), doesNotThrow(), llvm::X86ATTAsmPrinter::emitFunctionHeader(), llvm::InlineCostAnalyzer::getInlineCost(), InlineCallIfPossible(), and onlyReadsMemory().
| void llvm::Function::addFnAttr | ( | Attributes | N | ) | [inline] |
addFnAttr - Add function attributes to this function.
Definition at line 159 of file Function.h.
References addAttribute().
Referenced by InlineCallIfPossible(), setDoesNotAccessMemory(), setDoesNotReturn(), setDoesNotThrow(), and setOnlyReadsMemory().
| void llvm::Function::removeFnAttr | ( | Attributes | N | ) | [inline] |
removeFnAttr - Remove function attributes from this function.
Definition at line 166 of file Function.h.
References removeAttribute().
Referenced by setDoesNotAccessMemory(), setDoesNotReturn(), setDoesNotThrow(), and setOnlyReadsMemory().
| bool Function::hasGC | ( | ) | const |
hasGC/getGC/setGC/clearGC - The name of the garbage collection algorithm to use during code generation.
Definition at line 255 of file Function.cpp.
References llvm::DenseMap< KeyT, ValueT, KeyInfoT, ValueInfoT >::count().
Referenced by copyAttributesFrom(), equals(), llvm::GCModuleInfo::getFunctionInfo(), getGC(), llvm::InlineFunction(), LLVMGetGC(), and llvm::SelectionDAGISel::runOnFunction().
| const char * Function::getGC | ( | ) | const |
Definition at line 259 of file Function.cpp.
References hasGC().
Referenced by copyAttributesFrom(), equals(), llvm::GCModuleInfo::getFunctionInfo(), llvm::InlineFunction(), and LLVMGetGC().
| void Function::setGC | ( | const char * | Str | ) |
Definition at line 264 of file Function.cpp.
References llvm::StringPool::intern().
Referenced by copyAttributesFrom(), llvm::InlineFunction(), and LLVMSetGC().
| void Function::clearGC | ( | ) |
Definition at line 272 of file Function.cpp.
References llvm::StringPool::empty(), llvm::DenseMap< KeyT, ValueT, KeyInfoT, ValueInfoT >::empty(), and llvm::DenseMap< KeyT, ValueT, KeyInfoT, ValueInfoT >::erase().
Referenced by copyAttributesFrom(), LLVMSetGC(), and ~Function().
| bool llvm::Function::paramHasAttr | ( | unsigned | i, | |
| Attributes | attr | |||
| ) | const [inline] |
Determine whether the function has the given attribute.
Definition at line 179 of file Function.h.
References llvm::AttrListPtr::paramHasAttr().
Referenced by calculateFunctionInfo(), doesNotAlias(), doesNotCapture(), llvm::Argument::hasByValAttr(), llvm::Argument::hasNoAliasAttr(), llvm::Argument::hasNoCaptureAttr(), hasStructRetAttr(), llvm::Argument::hasStructRetAttr(), and llvm::TargetLowering::LowerArguments().
| void Function::addAttribute | ( | unsigned | i, | |
| Attributes | attr | |||
| ) |
addAttribute - adds the attribute to the list of attributes.
Definition at line 236 of file Function.cpp.
References llvm::AttrListPtr::addAttr(), getAttributes(), and setAttributes().
Referenced by llvm::Argument::addAttr(), addFnAttr(), setDoesNotAlias(), and setDoesNotCapture().
| void Function::removeAttribute | ( | unsigned | i, | |
| Attributes | attr | |||
| ) |
removeAttribute - removes the attribute from the list of attributes.
Definition at line 242 of file Function.cpp.
References getAttributes(), llvm::AttrListPtr::removeAttr(), and setAttributes().
Referenced by llvm::Argument::removeAttr(), removeFnAttr(), setDoesNotAlias(), and setDoesNotCapture().
Extract the alignment for a call or parameter (0=unknown).
Definition at line 190 of file Function.h.
References llvm::AttrListPtr::getParamAlignment().
Referenced by llvm::TargetLowering::LowerArguments().
| bool llvm::Function::doesNotAccessMemory | ( | ) | const [inline] |
Determine if the function does not access memory.
Definition at line 195 of file Function.h.
References hasFnAttr(), and llvm::Attribute::ReadNone.
Referenced by llvm::AliasAnalysis::getModRefBehavior(), and onlyReadsMemory().
| void llvm::Function::setDoesNotAccessMemory | ( | bool | DoesNotAccessMemory = true |
) | [inline] |
Definition at line 198 of file Function.h.
References addFnAttr(), llvm::Attribute::ReadNone, and removeFnAttr().
| bool llvm::Function::onlyReadsMemory | ( | ) | const [inline] |
Determine if the function does not access or only reads memory.
Definition at line 204 of file Function.h.
References doesNotAccessMemory(), hasFnAttr(), and llvm::Attribute::ReadOnly.
Referenced by llvm::AliasAnalysis::getModRefBehavior().
| void llvm::Function::setOnlyReadsMemory | ( | bool | OnlyReadsMemory = true |
) | [inline] |
Definition at line 207 of file Function.h.
References addFnAttr(), llvm::Attribute::ReadNone, llvm::Attribute::ReadOnly, and removeFnAttr().
| bool llvm::Function::doesNotReturn | ( | ) | const [inline] |
Determine if the function cannot return.
Definition at line 213 of file Function.h.
References hasFnAttr(), and llvm::Attribute::NoReturn.
| void llvm::Function::setDoesNotReturn | ( | bool | DoesNotReturn = true |
) | [inline] |
Definition at line 216 of file Function.h.
References addFnAttr(), llvm::Attribute::NoReturn, and removeFnAttr().
| bool llvm::Function::doesNotThrow | ( | ) | const [inline] |
Determine if the function cannot unwind.
Definition at line 222 of file Function.h.
References hasFnAttr(), and llvm::Attribute::NoUnwind.
Referenced by llvm::X86RegisterInfo::emitPrologue(), llvm::PPCRegisterInfo::emitPrologue(), and llvm::XCoreRegisterInfo::needsFrameMoves().
| void llvm::Function::setDoesNotThrow | ( | bool | DoesNotThrow = true |
) | [inline] |
Definition at line 225 of file Function.h.
References addFnAttr(), llvm::Attribute::NoUnwind, and removeFnAttr().
| bool llvm::Function::hasStructRetAttr | ( | ) | const [inline] |
Determine if the function returns a structure through first pointer argument.
Definition at line 232 of file Function.h.
References paramHasAttr(), and llvm::Attribute::StructRet.
Referenced by llvm::X86IntelAsmPrinter::decorateName(), and llvm::X86ATTAsmPrinter::decorateName().
| bool llvm::Function::doesNotAlias | ( | unsigned | n | ) | const [inline] |
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 238 of file Function.h.
References llvm::Attribute::NoAlias, and paramHasAttr().
| void llvm::Function::setDoesNotAlias | ( | unsigned | n, | |
| bool | DoesNotAlias = true | |||
| ) | [inline] |
Definition at line 241 of file Function.h.
References addAttribute(), llvm::Attribute::NoAlias, and removeAttribute().
| bool llvm::Function::doesNotCapture | ( | unsigned | n | ) | const [inline] |
Determine if the parameter can be captured.
| n | The parameter to check. 1 is the first parameter, 0 is the return |
Definition at line 248 of file Function.h.
References llvm::Attribute::NoCapture, and paramHasAttr().
| void llvm::Function::setDoesNotCapture | ( | unsigned | n, | |
| bool | DoesNotCapture = true | |||
| ) | [inline] |
Definition at line 251 of file Function.h.
References addAttribute(), llvm::Attribute::NoCapture, and removeAttribute().
| void Function::copyAttributesFrom | ( | const GlobalValue * | Src | ) | [virtual] |
copyAttributesFrom - copy all additional attributes (those not needed to create a Function) from the Function Src to this one.
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 288 of file Function.cpp.
References clearGC(), llvm::GlobalValue::copyAttributesFrom(), getAttributes(), getCallingConv(), getGC(), hasGC(), setAttributes(), setCallingConv(), and setGC().
Referenced by llvm::CloneFunctionInto(), and llvm::CloneModule().
| void llvm::Function::deleteBody | ( | ) | [inline] |
deleteBody - This method deletes the body of the function, and converts the linkage to external.
Definition at line 263 of file Function.h.
References dropAllReferences(), llvm::GlobalValue::ExternalLinkage, and llvm::GlobalValue::setLinkage().
Referenced by llvm::BitcodeReader::dematerializeFunction().
| void Function::removeFromParent | ( | ) | [virtual] |
removeFromParent - This method unlinks 'this' from the containing module, but does not delete it.
Implements llvm::GlobalValue.
Definition at line 147 of file Function.cpp.
References llvm::Module::getFunctionList(), and llvm::GlobalValue::getParent().
| void Function::eraseFromParent | ( | ) | [virtual] |
eraseFromParent - This method unlinks 'this' from the containing module and deletes it.
Implements llvm::GlobalValue.
Definition at line 151 of file Function.cpp.
References llvm::Module::getFunctionList(), and llvm::GlobalValue::getParent().
Referenced by fold(), StripDebugInfo(), and llvm::UpgradeCallsToIntrinsic().
| const ArgumentListType& llvm::Function::getArgumentList | ( | ) | const [inline] |
Get the underlying elements of the Function... the basic block list is empty for external functions.
Definition at line 282 of file Function.h.
Referenced by llvm::Argument::Argument().
| ArgumentListType& llvm::Function::getArgumentList | ( | ) | [inline] |
Definition at line 286 of file Function.h.
| const BasicBlockListType& llvm::Function::getBasicBlockList | ( | ) | const [inline] |
Definition at line 291 of file Function.h.
Referenced by llvm::CloneAndPruneFunctionInto(), llvm::CloneLoop(), llvm::BasicBlock::eraseFromParent(), llvm::InlineFunction(), LinkFunctionBody(), llvm::BasicBlock::moveAfter(), llvm::BasicBlock::moveBefore(), llvm::BasicBlock::removeFromParent(), RemoveUnreachableBlocksFromFn(), llvm::SimplifyCFG(), and llvm::SplitCriticalEdge().
| BasicBlockListType& llvm::Function::getBasicBlockList | ( | ) | [inline] |
Definition at line 292 of file Function.h.
| const BasicBlock& llvm::Function::getEntryBlock | ( | ) | const [inline] |
Definition at line 294 of file Function.h.
References front().
Referenced by CheckForEscapingAllocas(), llvm::CloneAndPruneFunctionInto(), llvm::CloneBasicBlock(), llvm::DemotePHIToStack(), llvm::DemoteRegToStack(), equals(), getBackEdges(), llvm::MemoryDependenceAnalysis::getDependency(), llvm::GraphTraits< Inverse< const Function * > >::getEntryNode(), llvm::GraphTraits< Inverse< Function * > >::getEntryNode(), llvm::GraphTraits< const Function * >::getEntryNode(), llvm::GraphTraits< Function * >::getEntryNode(), llvm::ProfileInfo::getExecutionCount(), llvm::MemoryDependenceAnalysis::getNonLocalCallDependency(), llvm::InlineFunction(), llvm::SelectionDAGLowering::isExportableFromCurrentBlock(), llvm::SimplifyCFG(), llvm::SparseSolver::Solve(), SplitEdgeNicely(), and TryToSinkInstruction().
| BasicBlock& llvm::Function::getEntryBlock | ( | ) | [inline] |
| ValueSymbolTable& llvm::Function::getValueSymbolTable | ( | ) | [inline] |
getSymbolTable() - Return the symbol table...
Definition at line 302 of file Function.h.
Referenced by llvm::ilist_traits< Argument >::getSymTab(), llvm::ilist_traits< BasicBlock >::getSymTab(), and WriteFunction().
| const ValueSymbolTable& llvm::Function::getValueSymbolTable | ( | ) | const [inline] |
Definition at line 303 of file Function.h.
| iterator llvm::Function::begin | ( | ) | [inline] |
Definition at line 309 of file Function.h.
Referenced by llvm::Interpreter::callFunction(), llvm::CloneAndPruneFunctionInto(), llvm::CloneFunctionInto(), llvm::StableBasicBlockNumbering::compute(), dropAllReferences(), EvaluateFunction(), getCommonReturnValue(), llvm::ValueEnumerator::incorporateFunction(), llvm::InlineFunction(), llvm::BasicInlinerImpl::inlineFunctions(), llvm::InsertProfilingInitCall(), isOnlyUsedInEntryBlock(), IterativeSimplifyCFG(), LinkFunctionBody(), LLVMGetBasicBlocks(), LLVMGetFirstBasicBlock(), LLVMGetLastBasicBlock(), LLVMGetPreviousBasicBlock(), llvm::GraphTraits< const Function * >::nodes_begin(), llvm::GraphTraits< Function * >::nodes_begin(), llvm::SparseSolver::Print(), RemoveUnreachableBlocksFromFn(), llvm::UnifyFunctionExitNodes::runOnFunction(), llvm::SelectionDAGISel::runOnFunction(), llvm::BasicBlockPass::runOnFunction(), llvm::FunctionLoweringInfo::set(), llvm::DominanceFrontier::splitBlock(), llvm::UpgradeIntrinsicCall(), and WriteFunction().
| const_iterator llvm::Function::begin | ( | ) | const [inline] |
Definition at line 310 of file Function.h.
| iterator llvm::Function::end | ( | ) | [inline] |
Definition at line 311 of file Function.h.
Referenced by llvm::CloneAndPruneFunctionInto(), llvm::CloneFunctionInto(), llvm::CloneTraceInto(), llvm::StableBasicBlockNumbering::compute(), dropAllReferences(), getCommonReturnValue(), HandleInlinedInvoke(), llvm::ValueEnumerator::incorporateFunction(), llvm::InlineFunction(), llvm::BasicInlinerImpl::inlineFunctions(), IterativeSimplifyCFG(), LinkFunctionBody(), LLVMGetBasicBlocks(), LLVMGetFirstBasicBlock(), LLVMGetLastBasicBlock(), LLVMGetNextBasicBlock(), llvm::GraphTraits< const Function * >::nodes_end(), llvm::GraphTraits< Function * >::nodes_end(), llvm::SparseSolver::Print(), RemoveUnreachableBlocksFromFn(), llvm::UnifyFunctionExitNodes::runOnFunction(), llvm::SelectionDAGISel::runOnFunction(), llvm::BasicBlockPass::runOnFunction(), llvm::FunctionLoweringInfo::set(), llvm::DominanceFrontier::splitBlock(), and WriteFunction().
| const_iterator llvm::Function::end | ( | ) | const [inline] |
Definition at line 312 of file Function.h.
| size_t llvm::Function::size | ( | ) | const [inline] |
Definition at line 314 of file Function.h.
Referenced by EvaluateFunction(), llvm::InlineCostAnalyzer::getInlineCost(), hash(), and RemoveUnreachableBlocksFromFn().
| bool llvm::Function::empty | ( | ) | const [inline] |
Definition at line 315 of file Function.h.
| const BasicBlock& llvm::Function::front | ( | ) | const [inline] |
Definition at line 316 of file Function.h.
Referenced by getEntryBlock(), llvm::IntervalIterator< NodeTy, OrigContainer_t, GT, IGT >::IntervalIterator(), and llvm::AllocaInst::isStaticAlloca().
| BasicBlock& llvm::Function::front | ( | ) | [inline] |
Definition at line 317 of file Function.h.
| const BasicBlock& llvm::Function::back | ( | ) | const [inline] |
| BasicBlock& llvm::Function::back | ( | ) | [inline] |
Definition at line 319 of file Function.h.
| arg_iterator llvm::Function::arg_begin | ( | ) | [inline] |
Definition at line 324 of file Function.h.
Referenced by AllCalleesPassInValidPointerForArgument(), calculateFunctionInfo(), llvm::Interpreter::callFunction(), llvm::CloneAndPruneFunctionInto(), llvm::CloneFunction(), llvm::CloneFunctionInto(), llvm::CloneModule(), equals(), EvaluateFunction(), llvm::Argument::getArgNo(), llvm::ValueEnumerator::incorporateFunction(), llvm::InsertProfilingInitCall(), isDynamicConstant(), LinkFunctionBody(), LLVMGetFirstParam(), LLVMGetLastParam(), LLVMGetParams(), LLVMGetPreviousParam(), llvm::SparcTargetLowering::LowerArguments(), llvm::TargetLowering::LowerArguments(), llvm::IA64TargetLowering::LowerArguments(), LowerPartSelect(), LowerPartSet(), and llvm::FunctionLoweringInfo::set().
| const_arg_iterator llvm::Function::arg_begin | ( | ) | const [inline] |
Definition at line 328 of file Function.h.
| arg_iterator llvm::Function::arg_end | ( | ) | [inline] |
Definition at line 332 of file Function.h.
Referenced by calculateFunctionInfo(), llvm::Interpreter::callFunction(), llvm::CloneAndPruneFunctionInto(), llvm::CloneFunction(), llvm::CloneFunctionInto(), equals(), EvaluateFunction(), llvm::ValueEnumerator::incorporateFunction(), LinkFunctionBody(), LLVMGetFirstParam(), LLVMGetLastParam(), LLVMGetNextParam(), LLVMGetParams(), llvm::SparcTargetLowering::LowerArguments(), llvm::TargetLowering::LowerArguments(), llvm::IA64TargetLowering::LowerArguments(), and llvm::FunctionLoweringInfo::set().
| const_arg_iterator llvm::Function::arg_end | ( | ) | const [inline] |
Definition at line 336 of file Function.h.
| size_t Function::arg_size | ( | ) | const |
Definition at line 207 of file Function.cpp.
References getFunctionType(), and llvm::FunctionType::getNumParams().
Referenced by llvm::Interpreter::callFunction(), llvm::CloneFunctionInto(), equals(), and llvm::InsertProfilingInitCall().
| bool Function::arg_empty | ( | ) | const |
Definition at line 210 of file Function.cpp.
References getFunctionType(), and llvm::FunctionType::getNumParams().
| void 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.
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. This depends on there being a 'dot' and 'gv' program in your path.
Definition at line 199 of file CFGPrinter.cpp.
References llvm::Value::getName(), and llvm::ViewGraph().
Referenced by LLVMViewFunctionCFG(), and viewCFGOnly().
| void 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.
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 t his can make the graph smaller.
Definition at line 208 of file CFGPrinter.cpp.
References CFGOnly, and viewCFG().
Referenced by LLVMViewFunctionCFGOnly().
| static bool llvm::Function::classof | ( | const Function * | ) | [inline, static] |
Methods for support type inquiry through isa, cast, and dyn_cast:.
Definition at line 360 of file Function.h.
| static bool llvm::Function::classof | ( | const Value * | V | ) | [inline, static] |
Reimplemented from llvm::GlobalValue.
Definition at line 361 of file Function.h.
References llvm::Value::FunctionVal, and llvm::Value::getValueID().
| 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.
Reimplemented from llvm::User.
Definition at line 230 of file Function.cpp.
References begin(), E, and end().
Referenced by deleteBody(), and ~Function().
| static unsigned llvm::Function::getBasicBlockListOffset | ( | ) | [inline, static] |
Definition at line 379 of file Function.h.
References BasicBlocks.
Referenced by llvm::ilist_traits< BasicBlock >::getListOffset().
| static unsigned llvm::Function::getArgumentListOffset | ( | ) | [inline, static] |
Definition at line 383 of file Function.h.
References ArgumentList.
Referenced by llvm::ilist_traits< Argument >::getListOffset().
friend class SymbolTableListTraits< Function, Module > [friend] |
Definition at line 77 of file Function.h.