summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Scalar
diff options
context:
space:
mode:
authorDavide Italiano <davide@freebsd.org>2016-05-31 17:39:39 +0000
committerDavide Italiano <davide@freebsd.org>2016-05-31 17:39:39 +0000
commit688616ff74671616564e2e441ecf7bddbfbd1fea (patch)
treede5079520e711bfb5b597045b29e9ac7c9b067de /llvm/lib/Transforms/Scalar
parent65cb39eb12bdefacdadf2c382705662a57c630b3 (diff)
downloadbcm5719-llvm-688616ff74671616564e2e441ecf7bddbfbd1fea.tar.gz
bcm5719-llvm-688616ff74671616564e2e441ecf7bddbfbd1fea.zip
[PM] ADCE: Fix caching of analyses.
When this pass was originally ported, AA wasn't available for the new PM. Now it is, so we can cache properly. llvm-svn: 271303
Diffstat (limited to 'llvm/lib/Transforms/Scalar')
-rw-r--r--llvm/lib/Transforms/Scalar/ADCE.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/llvm/lib/Transforms/Scalar/ADCE.cpp b/llvm/lib/Transforms/Scalar/ADCE.cpp
index 09cf77a0c08..1c9160e2869 100644
--- a/llvm/lib/Transforms/Scalar/ADCE.cpp
+++ b/llvm/lib/Transforms/Scalar/ADCE.cpp
@@ -146,9 +146,14 @@ static bool aggressiveDCE(Function& F) {
}
PreservedAnalyses ADCEPass::run(Function &F) {
- if (aggressiveDCE(F))
- return PreservedAnalyses::none();
- return PreservedAnalyses::all();
+ if (!aggressiveDCE(F))
+ return PreservedAnalyses::all();
+
+ // FIXME: ADCE should also 'preserve the CFG'.
+ // The new pass manager has currently no way to do it.
+ auto PA = PreservedAnalyses();
+ PA.preserve<GlobalsAA>();
+ return PA;
}
namespace {
OpenPOWER on IntegriCloud