[llvm] r237994 - [Unroll] Replace a hand-wavy FIXME with a FIXME that explains the actual

Chandler Carruth chandlerc at gmail.com
Thu May 21 20:07:28 PDT 2015


Author: chandlerc
Date: Thu May 21 22:07:28 2015
New Revision: 237994

URL: http://llvm.org/viewvc/llvm-project?rev=237994&view=rev
Log:
[Unroll] Replace a hand-wavy FIXME with a FIXME that explains the actual
problem instead of suggesting doing something that is trivial to do but
incorrect given the current design of the libraries.

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=237994&r1=237993&r2=237994&view=diff
==============================================================================
--- llvm/trunk/lib/Transforms/Scalar/LoopUnrollPass.cpp (original)
+++ llvm/trunk/lib/Transforms/Scalar/LoopUnrollPass.cpp Thu May 21 22:07:28 2015
@@ -349,9 +349,14 @@ buildSCEVGEPCache(const Loop &L, ScalarE
         if (!SE.isSCEVable(V->getType()))
             continue;
         const SCEV *S = SE.getSCEV(V);
-        // FIXME: Hoist the initialization out of the loop.
+
+        // FIXME: It'd be nice if the worklist and set used by the
+        // SCEVTraversal could be re-used between loop iterations, but the
+        // interface doesn't support that. There is no way to clear the visited
+        // sets between uses.
         FindConstantPointers Visitor(&L, SE);
         SCEVTraversal<FindConstantPointers> T(Visitor);
+
         // Try to find (BaseAddress+Step+Offset) tuple.
         // If succeeded, save it to the cache - it might help in folding
         // loads.





More information about the llvm-commits mailing list