diff options
| author | Johannes Doerfert <doerfert@cs.uni-saarland.de> | 2016-05-23 09:02:54 +0000 |
|---|---|---|
| committer | Johannes Doerfert <doerfert@cs.uni-saarland.de> | 2016-05-23 09:02:54 +0000 |
| commit | a61eda769890900903ee65278bf1ee07dfbd4ca5 (patch) | |
| tree | 97e173c17e47bcd5fc531c0a5230e16f6e59cd50 /polly/lib/CodeGen | |
| parent | 1a4ad8f771efa9b6dcf211964bd6d6eda703e3c1 (diff) | |
| download | bcm5719-llvm-a61eda769890900903ee65278bf1ee07dfbd4ca5.tar.gz bcm5719-llvm-a61eda769890900903ee65278bf1ee07dfbd4ca5.zip | |
[FIX] Let ScalarEvolution forget hoisted values
We have to rethink the handling of escaping values in order to make
this kind of "fixes" go away.
llvm-svn: 270409
Diffstat (limited to 'polly/lib/CodeGen')
| -rw-r--r-- | polly/lib/CodeGen/IslNodeBuilder.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/polly/lib/CodeGen/IslNodeBuilder.cpp b/polly/lib/CodeGen/IslNodeBuilder.cpp index ccec67ea547..17afa1724f2 100644 --- a/polly/lib/CodeGen/IslNodeBuilder.cpp +++ b/polly/lib/CodeGen/IslNodeBuilder.cpp @@ -960,6 +960,11 @@ Value *IslNodeBuilder::preloadUnconditionally(isl_set *AccessRange, if (LoadInst *PreloadInst = dyn_cast<LoadInst>(PreloadVal)) PreloadInst->setAlignment(dyn_cast<LoadInst>(AccInst)->getAlignment()); + // TODO: This is only a hot fix for SCoP sequences that use the same load + // instruction contained and hoisted by one of the SCoPs. + if (SE.isSCEVable(Ty)) + SE.forgetValue(AccInst); + return PreloadVal; } |

