[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