summaryrefslogtreecommitdiffstats
path: root/polly/lib/Analysis/ScopInfo.cpp
diff options
context:
space:
mode:
authorMichael Kruse <llvm@meinersbur.de>2016-10-25 13:37:43 +0000
committerMichael Kruse <llvm@meinersbur.de>2016-10-25 13:37:43 +0000
commit426e6f71f80b52f0e46fdf28add25525b30e657c (patch)
tree53782f8f7413c3d91fcfa4315b6d758e533286e8 /polly/lib/Analysis/ScopInfo.cpp
parent62fbfe4e21fc0e2e57bea6880aa0332b5cec531a (diff)
downloadbcm5719-llvm-426e6f71f80b52f0e46fdf28add25525b30e657c.tar.gz
bcm5719-llvm-426e6f71f80b52f0e46fdf28add25525b30e657c.zip
[ScopInfo] Fix: use raw source pointer.
When adding an llvm.memcpy instruction to AliasSetTracker, it uses the raw source and target pointers which preserve bitcasts. MemAccInst::getPointerOperand() also returns the raw target pointers, but Scop::buildAliasGroups() did not for the source pointer. This lead to mismatches between AliasSetTracker and ScopInfo on which pointer to use. Fixed by also using raw pointers in Scop::buildAliasGroups(). llvm-svn: 285071
Diffstat (limited to 'polly/lib/Analysis/ScopInfo.cpp')
-rw-r--r--polly/lib/Analysis/ScopInfo.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/polly/lib/Analysis/ScopInfo.cpp b/polly/lib/Analysis/ScopInfo.cpp
index e97c03ddc21..36b639753d4 100644
--- a/polly/lib/Analysis/ScopInfo.cpp
+++ b/polly/lib/Analysis/ScopInfo.cpp
@@ -2935,7 +2935,7 @@ bool Scop::buildAliasGroups(AliasAnalysis &AA) {
HasWriteAccess.insert(MA->getBaseAddr());
MemAccInst Acc(MA->getAccessInstruction());
if (MA->isRead() && isa<MemTransferInst>(Acc))
- PtrToAcc[cast<MemTransferInst>(Acc)->getSource()] = MA;
+ PtrToAcc[cast<MemTransferInst>(Acc)->getRawSource()] = MA;
else
PtrToAcc[Acc.getPointerOperand()] = MA;
AST.add(Acc);
OpenPOWER on IntegriCloud