Revert r114919, which caused some serious regressions on ARM.
authorOwen Anderson <resistor@mac.com>
Wed, 29 Sep 2010 18:05:19 +0000 (18:05 +0000)
committerOwen Anderson <resistor@mac.com>
Wed, 29 Sep 2010 18:05:19 +0000 (18:05 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115053 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/Scalar/LoopUnrollPass.cpp

index 99a38b1ed010a5e29dc6b7cd08d72e182fda1d81..7da2b52da544a64bfc94e5588022a98b48beef02 100644 (file)
@@ -158,12 +158,7 @@ bool LoopUnroll::runOnLoop(Loop *L, LPPassManager &LPM) {
       DEBUG(dbgs() << "  Not unrolling loop with inlinable calls.\n");
       return false;
     }
-    
-    // NOTE: We multiply by the loop depth because unrolling inner loops of
-    // very deep nests tends to result in high register pressure, which we don't
-    // currently recover from very well.  When and if the register allocator/
-    // spiller improves to compensate, this should be re-evaluated.
-    uint64_t Size = (uint64_t)LoopSize*Count*L->getLoopDepth();
+    uint64_t Size = (uint64_t)LoopSize*Count;
     if (TripCount != 1 && Size > CurrentThreshold) {
       DEBUG(dbgs() << "  Too large to fully unroll with count: " << Count
             << " because size: " << Size << ">" << CurrentThreshold << "\n");