forked from OSchip/llvm-project
Reintroduce InlineCostAnalyzer::getInlineCost() variant with explicit callee
parameter until we have a more sensible API for doing the same thing. Reviewed by Chandler. llvm-svn: 154180
This commit is contained in:
parent
49da93396e
commit
c1c9cdab23
|
@ -117,6 +117,15 @@ namespace llvm {
|
|||
/// bound the computation necessary to determine whether the cost is
|
||||
/// sufficiently low to warrant inlining.
|
||||
InlineCost getInlineCost(CallSite CS, int Threshold);
|
||||
/// getCalledFunction - The heuristic used to determine if we should inline
|
||||
/// the function call or not. The callee is explicitly specified, to allow
|
||||
/// you to calculate the cost of inlining a function via a pointer. This
|
||||
/// behaves exactly as the version with no explicit callee parameter in all
|
||||
/// other respects.
|
||||
//
|
||||
// Note: This is used by out-of-tree passes, please do not remove without
|
||||
// adding a replacement API.
|
||||
InlineCost getInlineCost(CallSite CS, Function *Callee, int Threshold);
|
||||
};
|
||||
|
||||
/// callIsSmall - If a call is likely to lower to a single target instruction,
|
||||
|
|
|
@ -988,8 +988,11 @@ void CallAnalyzer::dump() {
|
|||
}
|
||||
|
||||
InlineCost InlineCostAnalyzer::getInlineCost(CallSite CS, int Threshold) {
|
||||
Function *Callee = CS.getCalledFunction();
|
||||
return getInlineCost(CS, CS.getCalledFunction(), Threshold);
|
||||
}
|
||||
|
||||
InlineCost InlineCostAnalyzer::getInlineCost(CallSite CS, Function *Callee,
|
||||
int Threshold) {
|
||||
// Don't inline functions which can be redefined at link-time to mean
|
||||
// something else. Don't inline functions marked noinline or call sites
|
||||
// marked noinline.
|
||||
|
|
Loading…
Reference in New Issue