[llvm] r301702 - LoopRotate: Fix use after scope bug

Daniel Berlin via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 28 15:05:56 PDT 2017


Author: dannyb
Date: Fri Apr 28 17:05:55 2017
New Revision: 301702

URL: http://llvm.org/viewvc/llvm-project?rev=301702&view=rev
Log:
LoopRotate: Fix use after scope bug

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

Modified: llvm/trunk/lib/Transforms/Scalar/LoopRotation.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Scalar/LoopRotation.cpp?rev=301702&r1=301701&r2=301702&view=diff
==============================================================================
--- llvm/trunk/lib/Transforms/Scalar/LoopRotation.cpp (original)
+++ llvm/trunk/lib/Transforms/Scalar/LoopRotation.cpp Fri Apr 28 17:05:55 2017
@@ -670,8 +670,9 @@ PreservedAnalyses LoopRotatePass::run(Lo
                                       LPMUpdater &) {
   int Threshold = EnableHeaderDuplication ? DefaultRotationThreshold : 0;
   const DataLayout &DL = L.getHeader()->getModule()->getDataLayout();
+  const SimplifyQuery SQ = getBestSimplifyQuery(AR, DL);
   LoopRotate LR(Threshold, &AR.LI, &AR.TTI, &AR.AC, &AR.DT, &AR.SE,
-                getBestSimplifyQuery(AR, DL));
+                SQ);
 
   bool Changed = LR.processLoop(&L);
   if (!Changed)
@@ -714,8 +715,8 @@ public:
     auto *DT = DTWP ? &DTWP->getDomTree() : nullptr;
     auto *SEWP = getAnalysisIfAvailable<ScalarEvolutionWrapperPass>();
     auto *SE = SEWP ? &SEWP->getSE() : nullptr;
-    LoopRotate LR(MaxHeaderSize, LI, TTI, AC, DT, SE,
-                  getBestSimplifyQuery(*this, F));
+    const SimplifyQuery SQ = getBestSimplifyQuery(*this, F);
+    LoopRotate LR(MaxHeaderSize, LI, TTI, AC, DT, SE, SQ);
     return LR.processLoop(L);
   }
 };




More information about the llvm-commits mailing list