summaryrefslogtreecommitdiffstats
path: root/polly/lib/CodeGen
diff options
context:
space:
mode:
authorJohannes Doerfert <doerfert@cs.uni-saarland.de>2016-05-23 09:02:54 +0000
committerJohannes Doerfert <doerfert@cs.uni-saarland.de>2016-05-23 09:02:54 +0000
commita61eda769890900903ee65278bf1ee07dfbd4ca5 (patch)
tree97e173c17e47bcd5fc531c0a5230e16f6e59cd50 /polly/lib/CodeGen
parent1a4ad8f771efa9b6dcf211964bd6d6eda703e3c1 (diff)
downloadbcm5719-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.cpp5
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;
}
OpenPOWER on IntegriCloud