[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