diff options
Diffstat (limited to 'include/llvm/Analysis')
-rw-r--r-- | include/llvm/Analysis/CodeMetrics.h | 7 | ||||
-rw-r--r-- | include/llvm/Analysis/InlineCost.h | 6 |
2 files changed, 10 insertions, 3 deletions
diff --git a/include/llvm/Analysis/CodeMetrics.h b/include/llvm/Analysis/CodeMetrics.h index 1a67409ad1..e89ad9026d 100644 --- a/include/llvm/Analysis/CodeMetrics.h +++ b/include/llvm/Analysis/CodeMetrics.h @@ -77,7 +77,12 @@ namespace llvm { /// many instructions will be constant folded if the specified value is /// constant. unsigned CountCodeReductionForConstant(Value *V); - + + /// CountBonusForConstant - Figure out an approximation for how much + /// per-call performance boost we can expect if the specified value is + /// constant. + unsigned CountBonusForConstant(Value *V); + /// CountCodeReductionForAlloca - Figure out an approximation of how much /// smaller the function will be if it is inlined into a context where an /// argument becomes an alloca. diff --git a/include/llvm/Analysis/InlineCost.h b/include/llvm/Analysis/InlineCost.h index b3b93950d4..9963ba44d0 100644 --- a/include/llvm/Analysis/InlineCost.h +++ b/include/llvm/Analysis/InlineCost.h @@ -96,9 +96,11 @@ namespace llvm { public: unsigned ConstantWeight; unsigned AllocaWeight; + unsigned ConstantBonus; - ArgInfo(unsigned CWeight, unsigned AWeight) - : ConstantWeight(CWeight), AllocaWeight(AWeight) {} + ArgInfo(unsigned CWeight, unsigned AWeight, unsigned CBonus) + : ConstantWeight(CWeight), AllocaWeight(AWeight), ConstantBonus(CBonus) + {} }; struct FunctionInfo { |