[all-commits] [llvm/llvm-project] d871f4: [WebAssembly] Use DebugValueManager only when subp...
Heejin Ahn via All-commits
all-commits at lists.llvm.org
Sat Jan 13 14:56:06 PST 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: d871f40deb7a7e6286b6d6b4476f6d30e444075e
https://github.com/llvm/llvm-project/commit/d871f40deb7a7e6286b6d6b4476f6d30e444075e
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2024-01-13 (Sat, 13 Jan 2024)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyDebugValueManager.cpp
M llvm/test/CodeGen/WebAssembly/cfg-stackify-dbg-skip.ll
M llvm/test/DebugInfo/WebAssembly/dbg-value-move-clone.mir
M llvm/test/DebugInfo/WebAssembly/dbg-value-reg-stackify.mir
Log Message:
-----------
[WebAssembly] Use DebugValueManager only when subprogram exists (#77978)
We previously scanned the whole BB for `DBG_VALUE` instruction even when
the program doesn't have debug info, i.e., the function doesn't have a
subprogram associated with it, which can make compilation unnecessarily
slow. This disables `DebugValueManager` when a `DISubprogram` doesn't
exist for a function.
This only reduces unnecessary work in non-debug mode and does not change
output, so it's hard to add a test to test this behavior.
Test changes were necessary because their `DISubprogram`s were not
correctly linked with the functions, so with this PR the compiler
incorrectly assumed the functions didn't have a subprogram and the tests
started to fail.
Fixes https://github.com/emscripten-core/emscripten/issues/21048.
More information about the All-commits
mailing list