[llvm-branch-commits] [WebAssembly] Disable Regalloc Passes (PR #211297)

via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Wed Jul 22 15:00:06 PDT 2026


llvmorg-github-actions[bot] wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-backend-webassembly

Author: Aiden Grossman (boomanaiden154)

<details>
<summary>Changes</summary>

Otherwise we get verifier errors around still having virtual registers
around.

This wasn't possible to do until the following two commits landed:
1. 0de567b62a5b33f861314f3faa6511ee2e43ddd6
2. f34b933ff76cbc9d02d9b68b4b0c6ee7996d005c

Also force the addition of AsmPrinterBegin in case we are using
-start-before in llc.


---
Full diff: https://github.com/llvm/llvm-project/pull/211297.diff


1 Files Affected:

- (modified) llvm/lib/Target/WebAssembly/WebAssemblyCodeGenPassBuilder.cpp (+14-1) 


``````````diff
diff --git a/llvm/lib/Target/WebAssembly/WebAssemblyCodeGenPassBuilder.cpp b/llvm/lib/Target/WebAssembly/WebAssemblyCodeGenPassBuilder.cpp
index 1c8d0f0f45333..29cd4d6c20ef1 100644
--- a/llvm/lib/Target/WebAssembly/WebAssemblyCodeGenPassBuilder.cpp
+++ b/llvm/lib/Target/WebAssembly/WebAssemblyCodeGenPassBuilder.cpp
@@ -27,6 +27,7 @@
 #include "llvm/Passes/CodeGenPassBuilder.h"
 #include "llvm/Passes/PassBuilder.h"
 #include "llvm/Support/CodeGen.h"
+#include "llvm/Support/Error.h"
 #include "llvm/Target/CGPassBuilderOption.h"
 #include "llvm/Transforms/Utils/LowerGlobalDtors.h"
 #include "llvm/Transforms/Utils/LowerInvoke.h"
@@ -80,6 +81,8 @@ class WebAssemblyCodeGenPassBuilder
   void addIRPasses(PassManagerWrapper &PMW) const;
   void addISelPrepare(PassManagerWrapper &PMW) const;
   Error addInstSelector(PassManagerWrapper &PMW) const;
+  Error addRegAssignAndRewriteFast(PassManagerWrapper &PMW) const;
+  Expected<bool> addRegAssignAndRewriteOptimized(PassManagerWrapper &PMW) const;
   void addPreEmitPass(PassManagerWrapper &PMW) const;
   void addAsmPrinterBegin(PassManagerWrapper &PMW) const;
   void addAsmPrinter(PassManagerWrapper &PMW) const;
@@ -172,6 +175,16 @@ Error WebAssemblyCodeGenPassBuilder::addInstSelector(
   return Error::success();
 }
 
+Error WebAssemblyCodeGenPassBuilder::addRegAssignAndRewriteFast(
+    PassManagerWrapper &PMW) const {
+  return Error::success();
+}
+
+Expected<bool> WebAssemblyCodeGenPassBuilder::addRegAssignAndRewriteOptimized(
+    PassManagerWrapper &PMW) const {
+  return false;
+}
+
 void WebAssemblyCodeGenPassBuilder::addPreEmitPass(
     PassManagerWrapper &PMW) const {
   Base::addPreEmitPass(PMW);
@@ -251,7 +264,7 @@ void WebAssemblyCodeGenPassBuilder::addPreEmitPass(
 
 void WebAssemblyCodeGenPassBuilder::addAsmPrinterBegin(
     PassManagerWrapper &PMW) const {
-  addModulePass(WebAssemblyAsmPrinterBeginPass(), PMW);
+  addModulePass(WebAssemblyAsmPrinterBeginPass(), PMW, /*Force=*/true);
 }
 
 void WebAssemblyCodeGenPassBuilder::addAsmPrinter(

``````````

</details>


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


More information about the llvm-branch-commits mailing list