diff options
author | Davide Italiano <davide@freebsd.org> | 2016-06-06 20:01:50 +0000 |
---|---|---|
committer | Davide Italiano <davide@freebsd.org> | 2016-06-06 20:01:50 +0000 |
commit | fea0a4c5b2585a2aacca26e8ae36a185e106f216 (patch) | |
tree | c514ba63fe908ec03a7869060f2c460aae7b7998 | |
parent | b54a26d19d8a4de6941d083c7c2692fbc3555513 (diff) | |
download | bcm5719-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.cpp | 7 |
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 |