[llvm-commits] [llvm] r115053 - /llvm/trunk/lib/Transforms/Scalar/LoopUnrollPass.cpp

Owen Anderson resistor at mac.com
Wed Sep 29 11:05:19 PDT 2010


Author: resistor
Date: Wed Sep 29 13:05:19 2010
New Revision: 115053

URL: http://llvm.org/viewvc/llvm-project?rev=115053&view=rev
Log:
Revert r114919, which caused some serious regressions on ARM.

Modified:
    llvm/trunk/lib/Transforms/Scalar/LoopUnrollPass.cpp

Modified: llvm/trunk/lib/Transforms/Scalar/LoopUnrollPass.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Scalar/LoopUnrollPass.cpp?rev=115053&r1=115052&r2=115053&view=diff
==============================================================================
--- llvm/trunk/lib/Transforms/Scalar/LoopUnrollPass.cpp (original)
+++ llvm/trunk/lib/Transforms/Scalar/LoopUnrollPass.cpp Wed Sep 29 13:05:19 2010
@@ -158,12 +158,7 @@
       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");





More information about the llvm-commits mailing list