[llvm-branch-commits] [WebAssembly] Port WebAssemblyRegColoringPass (PR #210225)
Aiden Grossman via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Sun Jul 19 08:57:34 PDT 2026
================
@@ -329,3 +329,27 @@ bool WebAssemblyRegColoring::runOnMachineFunction(MachineFunction &MF) {
}
return true;
}
+
+bool WebAssemblyRegColoringLegacy::runOnMachineFunction(MachineFunction &MF) {
+ LiveIntervals *Liveness = &getAnalysis<LiveIntervalsWrapperPass>().getLIS();
+ const MachineBlockFrequencyInfo *MBFI =
+ &getAnalysis<MachineBlockFrequencyInfoWrapperPass>().getMBFI();
+ return regColoring(MF, Liveness, MBFI);
+}
+
+PreservedAnalyses
+WebAssemblyRegColoringPass::run(MachineFunction &MF,
+ MachineFunctionAnalysisManager &MFAM) {
+ // TODO(boomanaiden154): We duplicate this check from above to avoid computing
+ // analyses if we do not need to. We should remove it when remove support for
+ // the LegacyPM and are able to simplify things.
+ if (MF.exposesReturnsTwice())
+ return PreservedAnalyses::all();
----------------
boomanaiden154 wrote:
It costs us compile time because we might be computing non-cached analyses when we don't need to, which I'd rather avoid if possible.
https://github.com/llvm/llvm-project/pull/210225
More information about the llvm-branch-commits
mailing list