summaryrefslogtreecommitdiff
path: root/lib/Transforms/Scalar/LoopUnrollPass.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Transforms/Scalar/LoopUnrollPass.cpp')
-rw-r--r--lib/Transforms/Scalar/LoopUnrollPass.cpp15
1 files changed, 0 insertions, 15 deletions
diff --git a/lib/Transforms/Scalar/LoopUnrollPass.cpp b/lib/Transforms/Scalar/LoopUnrollPass.cpp
index 90eb857c85..80b263a30c 100644
--- a/lib/Transforms/Scalar/LoopUnrollPass.cpp
+++ b/lib/Transforms/Scalar/LoopUnrollPass.cpp
@@ -99,21 +99,6 @@ static unsigned ApproximateLoopSize(const Loop *L, unsigned &NumCalls) {
unsigned LoopSize = Metrics.NumInsts;
- // If we can identify the induction variable, we know that it will become
- // constant when we unroll the loop, so factor that into our loop size
- // estimate.
- // FIXME: We have to divide by InlineConstants::InstrCost because the
- // measure returned by CountCodeReductionForConstant is not an instruction
- // count, but rather a weight as defined by InlineConstants. It would
- // probably be a good idea to standardize on a single weighting scheme by
- // pushing more of the logic for weighting into CodeMetrics.
- if (PHINode *IndVar = L->getCanonicalInductionVariable()) {
- 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 / 2 : SizeDecrease;
- }
-
// Don't allow an estimate of size zero. This would allows unrolling of loops
// with huge iteration counts, which is a compile time problem even if it's
// not a problem for code quality.