diff options
| author | Davide Italiano <davide@freebsd.org> | 2016-05-31 17:39:39 +0000 |
|---|---|---|
| committer | Davide Italiano <davide@freebsd.org> | 2016-05-31 17:39:39 +0000 |
| commit | 688616ff74671616564e2e441ecf7bddbfbd1fea (patch) | |
| tree | de5079520e711bfb5b597045b29e9ac7c9b067de /llvm/lib/Transforms/Scalar | |
| parent | 65cb39eb12bdefacdadf2c382705662a57c630b3 (diff) | |
| download | bcm5719-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.cpp | 11 |
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 { |

