summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavide Italiano <davide@freebsd.org>2016-06-06 20:01:50 +0000
committerDavide Italiano <davide@freebsd.org>2016-06-06 20:01:50 +0000
commitfea0a4c5b2585a2aacca26e8ae36a185e106f216 (patch)
treec514ba63fe908ec03a7869060f2c460aae7b7998
parentb54a26d19d8a4de6941d083c7c2692fbc3555513 (diff)
downloadbcm5719-llvm-fea0a4c5b2585a2aacca26e8ae36a185e106f216.tar.gz
bcm5719-llvm-fea0a4c5b2585a2aacca26e8ae36a185e106f216.zip
[PM] Preserve the correct set of analyses for GVN.
llvm-svn: 271934
-rw-r--r--llvm/lib/Transforms/Scalar/GVN.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/llvm/lib/Transforms/Scalar/GVN.cpp b/llvm/lib/Transforms/Scalar/GVN.cpp
index ef9638b9aa0..c3fcbbffeba 100644
--- a/llvm/lib/Transforms/Scalar/GVN.cpp
+++ b/llvm/lib/Transforms/Scalar/GVN.cpp
@@ -594,7 +594,12 @@ PreservedAnalyses GVN::run(Function &F, AnalysisManager<Function> &AM) {
auto &AA = AM.getResult<AAManager>(F);
auto &MemDep = AM.getResult<MemoryDependenceAnalysis>(F);
bool Changed = runImpl(F, AC, DT, TLI, AA, &MemDep);
- return Changed ? PreservedAnalyses::none() : PreservedAnalyses::all();
+ if (!Changed)
+ return PreservedAnalyses::all();
+ PreservedAnalyses PA;
+ PA.preserve<DominatorTreeAnalysis>();
+ PA.preserve<GlobalsAA>();
+ return PA;
}
LLVM_DUMP_METHOD
OpenPOWER on IntegriCloud