[llvm-branch-commits] [WebAssembly] Port WebAssemblyRegColoringPass (PR #210225)

Aiden Grossman via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Wed Jul 22 07:22:50 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:

Sorry, I missed what you were saying. I've updated the patch so that this check exists in both PM entrypoints. I also duplicate the comment which I guess is a bit unfortunate, but shouldn't be a big deal.

https://github.com/llvm/llvm-project/pull/210225


More information about the llvm-branch-commits mailing list