[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