diff options
author | Owen Anderson <resistor@mac.com> | 2010-09-09 16:56:42 +0000 |
---|---|---|
committer | Owen Anderson <resistor@mac.com> | 2010-09-09 16:56:42 +0000 |
commit | 082bf2a977b6bb91d61ac5155e1906ecc6ba47bf (patch) | |
tree | c9611fb02c6188d45c7a70d0688968299ff38a90 /include/llvm/Analysis/CodeMetrics.h | |
parent | a6c329d66b5327a2ecaa27f3a64797f1a57711f3 (diff) |
Refactor code-size reduction estimation methods out of InlineCostAnalyzer and into CodeMetrics. They
don't use any InlineCostAnalyzer state, and are useful for other clients who don't necessarily want to use
all of InlineCostAnalyzer's logic, some of which is fairly inlining-specific.
No intended functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113499 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Analysis/CodeMetrics.h')
-rw-r--r-- | include/llvm/Analysis/CodeMetrics.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/include/llvm/Analysis/CodeMetrics.h b/include/llvm/Analysis/CodeMetrics.h index 58096f1f15..6ae68f36d7 100644 --- a/include/llvm/Analysis/CodeMetrics.h +++ b/include/llvm/Analysis/CodeMetrics.h @@ -66,6 +66,17 @@ namespace llvm { /// analyzeFunction - Add information about the specified function /// to the current structure. void analyzeFunction(Function *F); + + /// CountCodeReductionForConstant - Figure out an approximation for how + /// many instructions will be constant folded if the specified value is + /// constant. + unsigned CountCodeReductionForConstant(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. + /// + unsigned CountCodeReductionForAlloca(Value *V); }; } |