1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-20 03:23:01 +02:00

[PM] BDCE: Fix caching of analyses.

Another chapter in the story. GlobalsAA should be preserved, as
 well as the CFG.

llvm-svn: 271307
This commit is contained in:
Davide Italiano 2016-05-31 17:53:22 +00:00
parent 8d2c8c8209
commit e4d7b4b122

View File

@ -71,9 +71,14 @@ static bool bitTrackingDCE(Function &F, DemandedBits &DB) {
PreservedAnalyses BDCEPass::run(Function &F, FunctionAnalysisManager &AM) {
auto &DB = AM.getResult<DemandedBitsAnalysis>(F);
if (bitTrackingDCE(F, DB))
return PreservedAnalyses::none();
return PreservedAnalyses::all();
if (!bitTrackingDCE(F, DB))
return PreservedAnalyses::all();
// FIXME: BDCE 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 {