LLVM API Documentation
#include <InlineCost.h>

Public Member Functions | |
| InlineCost | getInlineCost (CallSite CS, SmallPtrSet< const Function *, 16 > &NeverInline) |
| float | getInlineFudgeFactor (CallSite CS) |
Classes | |
| struct | ArgInfo |
| struct | FunctionInfo |
Definition at line 64 of file InlineCost.h.
| InlineCost InlineCostAnalyzer::getInlineCost | ( | CallSite | CS, | |
| SmallPtrSet< const Function *, 16 > & | NeverInline | |||
| ) |
getInlineCost - The heuristic used to determine if we should inline the function call or not.
Definition at line 172 of file InlineCost.cpp.
References llvm::Attribute::AlwaysInline, llvm::CallSite::arg_begin(), llvm::CallSite::arg_end(), Caller, llvm::CallingConv::Cold, llvm::SmallPtrSet< PtrType, SmallSize >::count(), E, FunctionInfo, llvm::InlineCost::get(), llvm::InlineCost::getAlways(), llvm::CallSite::getCalledFunction(), llvm::Function::getCallingConv(), llvm::CallSite::getInstruction(), llvm::InlineCost::getNever(), llvm::BasicBlock::getParent(), llvm::Instruction::getParent(), llvm::Function::hasFnAttr(), llvm::GlobalValue::hasInternalLinkage(), llvm::GlobalValue::hasLinkOnceLinkage(), llvm::Value::hasOneUse(), II, llvm::Function::isDeclaration(), llvm::GlobalValue::mayBeOverridden(), llvm::Attribute::NoInline, and llvm::Function::size().
Referenced by llvm::BasicInlinerImpl::inlineFunctions().
| float InlineCostAnalyzer::getInlineFudgeFactor | ( | CallSite | CS | ) |
getInlineFudgeFactor - Return a > 1.0 factor if the inliner should use a higher threshold to determine if the function call should be inlined.
Definition at line 284 of file InlineCost.cpp.
References FunctionInfo, and llvm::CallSite::getCalledFunction().
This web site is hosted by the Computer Science Department at the University of Illinois at Urbana-Champaign.