1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 03:33:20 +01:00

[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.

llvm-svn: 237994
This commit is contained in:
Chandler Carruth 2015-05-22 03:07:28 +00:00
parent 7ed81bcd49
commit ea8d10ab23

View File

@ -349,9 +349,14 @@ buildSCEVGEPCache(const Loop &L, ScalarEvolution &SE) {
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.