summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Scalar/LoopUnswitch.cpp
diff options
context:
space:
mode:
authorKenneth Uildriks <kennethuil@gmail.com>2010-06-09 15:11:37 +0000
committerKenneth Uildriks <kennethuil@gmail.com>2010-06-09 15:11:37 +0000
commit9b21208bfb820648711c6fc8cbddf868d9978947 (patch)
tree628ce6f4bbf20dadbc5b5706a24c52c59811c61b /llvm/lib/Transforms/Scalar/LoopUnswitch.cpp
parent5661f9202b354985a152f4359b866985a76576a4 (diff)
downloadbcm5719-llvm-9b21208bfb820648711c6fc8cbddf868d9978947.tar.gz
bcm5719-llvm-9b21208bfb820648711c6fc8cbddf868d9978947.zip
Pulled CodeMetrics out of InlineCost.h and made it a bit more general, so it can be reused from PartialSpecializationCost
llvm-svn: 105725
Diffstat (limited to 'llvm/lib/Transforms/Scalar/LoopUnswitch.cpp')
-rw-r--r--llvm/lib/Transforms/Scalar/LoopUnswitch.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Transforms/Scalar/LoopUnswitch.cpp b/llvm/lib/Transforms/Scalar/LoopUnswitch.cpp
index ae7bf40e0e1..9534ec3e0f3 100644
--- a/llvm/lib/Transforms/Scalar/LoopUnswitch.cpp
+++ b/llvm/lib/Transforms/Scalar/LoopUnswitch.cpp
@@ -445,7 +445,7 @@ bool LoopUnswitch::UnswitchIfProfitable(Value *LoopCond, Constant *Val) {
// This is a very ad-hoc heuristic.
if (Metrics.NumInsts > Threshold ||
Metrics.NumBlocks * 5 > Threshold ||
- Metrics.NeverInline) {
+ Metrics.containsIndirectBr || Metrics.isRecursive) {
DEBUG(dbgs() << "NOT unswitching loop %"
<< currentLoop->getHeader()->getName() << ", cost too high: "
<< currentLoop->getBlocks().size() << "\n");
OpenPOWER on IntegriCloud