ScalarEvolution &SE = AM.getResult<ScalarEvolutionAnalysis>(F);
DominatorTree &DT = AM.getResult<DominatorTreeAnalysis>(F);
bool Changed = runImpl(F, AC, &SE, &DT);
+ AM.invalidate<ScalarEvolutionAnalysis>(F);
if (!Changed)
return PreservedAnalyses::all();
PreservedAnalyses PA;
auto *TTI = &AM.getResult<TargetIRAnalysis>(F);
bool Changed = runImpl(F, AC, DT, SE, TLI, TTI);
+ AM.invalidate<ScalarEvolutionAnalysis>(F);
if (!Changed)
return PreservedAnalyses::all();
for (LoopInfo::iterator I = LI->begin(), E = LI->end(); I != E; ++I)
Changed |= simplifyLoop(*I, DT, LI, SE, AC, true /* PreserveLCSSA */);
+ AM.invalidate<ScalarEvolutionAnalysis>(F);
+
if (!Changed)
return PreservedAnalyses::all();
PreservedAnalyses PA;