[llvm] [Analysis] Avoid running transform passes that have just been run (PR #112092)
Arthur Eubanks via llvm-commits
llvm-commits at lists.llvm.org
Mon Oct 14 10:59:48 PDT 2024
================
@@ -5538,8 +5539,15 @@ void InstCombinePass::printPipeline(
OS << '>';
}
+char InstCombinePass::ID = 0;
+
PreservedAnalyses InstCombinePass::run(Function &F,
FunctionAnalysisManager &AM) {
+ auto &LRT = AM.getResult<LastRunTrackingAnalysis>(F);
+ // No changes since last InstCombine pass, exit early.
+ if (LRT.shouldSkip(&ID, Options))
+ return PreservedAnalyses::all();
----------------
aeubanks wrote:
agreed about keeping this out of the pass manager, the pass manager shouldn't know which passes are supposed to be idempotent
https://github.com/llvm/llvm-project/pull/112092
More information about the llvm-commits
mailing list