diff options
| author | Chris Lattner <sabre@nondot.org> | 2009-10-27 21:27:42 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2009-10-27 21:27:42 +0000 |
| commit | 2688bcbee188c1b5071f3a2b38923cd06013f490 (patch) | |
| tree | 7eb6cc33a93cc3fccc1cf6e0c728f169e7ad80e4 /lib/Analysis/InlineCost.cpp | |
| parent | 627b470981a833f847005556bea04e71f94da260 (diff) | |
Random updates to passes for indbr, I need blockaddress before I can do much more.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85316 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Analysis/InlineCost.cpp')
| -rw-r--r-- | lib/Analysis/InlineCost.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/Analysis/InlineCost.cpp b/lib/Analysis/InlineCost.cpp index febdd9101c..559f468bd6 100644 --- a/lib/Analysis/InlineCost.cpp +++ b/lib/Analysis/InlineCost.cpp @@ -31,6 +31,9 @@ unsigned InlineCostAnalyzer::FunctionInfo:: // Eliminating a switch is a big win, proportional to the number of edges // deleted. Reduction += (SI->getNumSuccessors()-1) * 40; + else if (isa<IndBrInst>(*UI)) + // Eliminating an indirect branch is a big win. + Reduction += 200; else if (CallInst *CI = dyn_cast<CallInst>(*UI)) { // Turning an indirect call into a direct call is a BIG win Reduction += CI->getCalledValue() == V ? 500 : 0; |
