Improve the inlining cost function a bit.

Little practical effect.

llvm-svn: 62908
This commit is contained in:
Dale Johannesen 2009-01-24 01:27:33 +00:00
parent 72cd68fe64
commit 899ecdbbba
1 changed files with 6 additions and 3 deletions

View File

@ -121,9 +121,12 @@ void InlineCostAnalyzer::FunctionInfo::analyzeFunction(Function *F) {
}
// Calls often compile into many machine instructions. Bump up their
// cost to reflect this.
if (!isa<IntrinsicInst>(II))
NumInsts += 5;
// cost to reflect this. Allow an extra instruction per parameter.
if (!isa<IntrinsicInst>(II)) {
for (CallSite::arg_iterator I = CS.arg_begin(), E = CS.arg_end();
I != E; ++I)
NumInsts ++;
}
}
if (const AllocaInst *AI = dyn_cast<AllocaInst>(II)) {