Fix typo in code to cap the loop code size reduction calculation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113526 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Transforms/Scalar/LoopUnrollPass.cpp b/lib/Transforms/Scalar/LoopUnrollPass.cpp
index 967ce93..9c5c591 100644
--- a/lib/Transforms/Scalar/LoopUnrollPass.cpp
+++ b/lib/Transforms/Scalar/LoopUnrollPass.cpp
@@ -27,7 +27,7 @@
using namespace llvm;
static cl::opt<unsigned>
-UnrollThreshold("unroll-threshold", cl::init(200), cl::Hidden,
+UnrollThreshold("unroll-threshold", cl::init(0), cl::Hidden,
cl::desc("The cut-off point for automatic loop unrolling"));
static cl::opt<unsigned>
@@ -105,7 +105,7 @@
unsigned SizeDecrease = Metrics.CountCodeReductionForConstant(IndVar);
// NOTE: Because SizeDecrease is a fuzzy estimate, we don't want to allow
// it to totally negate the cost of unrolling a loop.
- SizeDecrease = SizeDecrease > LoopSize / 2 ? LoopSize : SizeDecrease;
+ SizeDecrease = SizeDecrease > LoopSize / 2 ? LoopSize / 2 : SizeDecrease;
}
// Don't allow an estimate of size zero. This would allows unrolling of loops