summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Vectorize/BBVectorize.cpp
diff options
context:
space:
mode:
authorHal Finkel <hfinkel@anl.gov>2012-02-10 15:52:40 +0000
committerHal Finkel <hfinkel@anl.gov>2012-02-10 15:52:40 +0000
commit1bde3f86d108f48f202f0042f8995b389d7f6872 (patch)
tree2e1d3e8b45d3ba4c8d58721768a6a208c85db083 /llvm/lib/Transforms/Vectorize/BBVectorize.cpp
parent56f6b0f219eaeb6a938a99c6e64fc0e99696ea07 (diff)
downloadbcm5719-llvm-1bde3f86d108f48f202f0042f8995b389d7f6872.tar.gz
bcm5719-llvm-1bde3f86d108f48f202f0042f8995b389d7f6872.zip
Update BBVectorize to use aliasesUnknownInst.
This allows BBVectorize to check the "unknown instruction" list in the alias sets. This is important to prevent instruction fusing from reordering function calls. Resolves PR11920. llvm-svn: 150250
Diffstat (limited to 'llvm/lib/Transforms/Vectorize/BBVectorize.cpp')
-rw-r--r--llvm/lib/Transforms/Vectorize/BBVectorize.cpp12
1 files changed, 3 insertions, 9 deletions
diff --git a/llvm/lib/Transforms/Vectorize/BBVectorize.cpp b/llvm/lib/Transforms/Vectorize/BBVectorize.cpp
index ea26c1a3d37..9592d2572f2 100644
--- a/llvm/lib/Transforms/Vectorize/BBVectorize.cpp
+++ b/llvm/lib/Transforms/Vectorize/BBVectorize.cpp
@@ -692,16 +692,10 @@ namespace {
} else {
for (AliasSetTracker::iterator W = WriteSet.begin(),
WE = WriteSet.end(); W != WE; ++W) {
- for (AliasSet::iterator A = W->begin(), AE = W->end();
- A != AE; ++A) {
- AliasAnalysis::Location ptrLoc(A->getValue(), A->getSize(),
- A->getTBAAInfo());
- if (AA->getModRefInfo(J, ptrLoc) != AliasAnalysis::NoModRef) {
- UsesI = true;
- break;
- }
+ if (W->aliasesUnknownInst(J, *AA)) {
+ UsesI = true;
+ break;
}
- if (UsesI) break;
}
}
}
OpenPOWER on IntegriCloud