diff options
| -rw-r--r-- | polly/include/polly/ScopPass.h | 14 | ||||
| -rw-r--r-- | polly/lib/Analysis/ScopPass.cpp | 6 |
2 files changed, 13 insertions, 7 deletions
diff --git a/polly/include/polly/ScopPass.h b/polly/include/polly/ScopPass.h index 504daea85ba..ca89989533c 100644 --- a/polly/include/polly/ScopPass.h +++ b/polly/include/polly/ScopPass.h @@ -128,6 +128,7 @@ private: struct ScopStandardAnalysisResults { DominatorTree &DT; + ScopInfo &SI; ScalarEvolution &SE; LoopInfo &LI; RegionInfo &RI; @@ -161,14 +162,15 @@ public: if (Scops.empty()) return PA; - ScopAnalysisManager &SAM = - AM.getResult<ScopAnalysisManagerFunctionProxy>(F).getManager(); - ScopStandardAnalysisResults AR = {AM.getResult<DominatorTreeAnalysis>(F), + AM.getResult<ScopInfoAnalysis>(F), AM.getResult<ScalarEvolutionAnalysis>(F), AM.getResult<LoopAnalysis>(F), AM.getResult<RegionInfoAnalysis>(F)}; + ScopAnalysisManager &SAM = + AM.getResult<ScopAnalysisManagerFunctionProxy>(F).getManager(); + SmallPriorityWorklist<Scop *, 4> Worklist; SPMUpdater Updater{Worklist, SAM}; @@ -186,6 +188,12 @@ public: PA.preserveSet<AllAnalysesOn<Scop>>(); PA.preserve<ScopAnalysisManagerFunctionProxy>(); + PA.preserve<DominatorTreeAnalysis>(); + PA.preserve<ScopAnalysis>(); + PA.preserve<ScopInfoAnalysis>(); + PA.preserve<ScalarEvolutionAnalysis>(); + PA.preserve<LoopAnalysis>(); + PA.preserve<RegionInfoAnalysis>(); return PA; } diff --git a/polly/lib/Analysis/ScopPass.cpp b/polly/lib/Analysis/ScopPass.cpp index dfdf31396d9..c845bf2f482 100644 --- a/polly/lib/Analysis/ScopPass.cpp +++ b/polly/lib/Analysis/ScopPass.cpp @@ -76,12 +76,10 @@ bool ScopAnalysisManagerFunctionProxy::Result::invalidate( // First, check whether our ScopInfo is about to be invalidated auto PAC = PA.getChecker<ScopAnalysisManagerFunctionProxy>(); if (!(PAC.preserved() || PAC.preservedSet<AllAnalysesOn<Function>>() || - Inv.invalidate<ScopAnalysis>(F, PA) || + Inv.invalidate<ScopInfoAnalysis>(F, PA) || Inv.invalidate<ScalarEvolutionAnalysis>(F, PA) || Inv.invalidate<LoopAnalysis>(F, PA) || - Inv.invalidate<AAManager>(F, PA) || - Inv.invalidate<DominatorTreeAnalysis>(F, PA) || - Inv.invalidate<AssumptionAnalysis>(F, PA))) { + Inv.invalidate<DominatorTreeAnalysis>(F, PA))) { // As everything depends on ScopInfo, we must drop all existing results for (auto &S : *SI) |

