[llvm] [Analysis] Avoid running transform passes that have just been run (PR #112092)
Arthur Eubanks via llvm-commits
llvm-commits at lists.llvm.org
Wed Oct 16 14:45:10 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:
in the legacy pass manager, analyses were special passes. in the new pass manager, analyses and passes are separate concepts, so that sort of hack doesn't really work. and that doesn't solve the pass parameter issue.
https://github.com/llvm/llvm-project/pull/112092
More information about the llvm-commits
mailing list