[llvm-branch-commits] [llvm] [WebAssembly] Introduce CodeGenPassBuilder (PR #208983)
Aiden Grossman via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Tue Jul 14 07:31:56 PDT 2026
https://github.com/boomanaiden154 updated https://github.com/llvm/llvm-project/pull/208983
>From b73de5d2685eb7b694e30ad69e208786f49ba88a Mon Sep 17 00:00:00 2001
From: Aiden Grossman <aidengrossman at google.com>
Date: Tue, 14 Jul 2026 14:31:44 +0000
Subject: [PATCH] add comment
Created using spr 1.3.7
---
.../Target/WebAssembly/WebAssemblyCodeGenPassBuilder.cpp | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/llvm/lib/Target/WebAssembly/WebAssemblyCodeGenPassBuilder.cpp b/llvm/lib/Target/WebAssembly/WebAssemblyCodeGenPassBuilder.cpp
index 16239e9481b1c..d82130da3bcf5 100644
--- a/llvm/lib/Target/WebAssembly/WebAssemblyCodeGenPassBuilder.cpp
+++ b/llvm/lib/Target/WebAssembly/WebAssemblyCodeGenPassBuilder.cpp
@@ -63,6 +63,14 @@ class WebAssemblyCodeGenPassBuilder
FuncletLayoutPass, StackMapLivenessPass, PatchableFunctionPass,
ShrinkWrapPass, RemoveLoadsIntoFakeUsesPass,
MachineBlockPlacementPass>();
+
+ // Currently RegisterCoalesce degrades wasm debug info quality by a
+ // significant margin. As a quick fix, disable this for -O1, which is often
+ // used for debugging large applications. Disabling this increases code size
+ // of Emscripten core benchmarks by ~5%, which is acceptable for -O1, which
+ // is usually not used for production builds.
+ // TODO Investigate why RegisterCoalesce degrades debug info quality and fix
+ // it properly
if (getOptLevel() == CodeGenOptLevel::Less)
disablePass<RegisterCoalescerPass>();
}
More information about the llvm-branch-commits
mailing list