[all-commits] [llvm/llvm-project] 18a182: [coro] Fix crash due to DILabel in `LineTableOnly`...
Adrian Vogelsgesang via All-commits
all-commits at lists.llvm.org
Fri Jul 11 16:52:04 PDT 2025
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 18a182b8ddcc8008d552e34c6d5c5953c8493dbe
https://github.com/llvm/llvm-project/commit/18a182b8ddcc8008d552e34c6d5c5953c8493dbe
Author: Adrian Vogelsgesang <avogelsgesang at salesforce.com>
Date: 2025-07-12 (Sat, 12 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
M llvm/test/Transforms/Coroutines/coro-split-dbg-labels.ll
Log Message:
-----------
[coro] Fix crash due to DILabel in `LineTableOnly` mode (#148095)
Since the recent commit de3c8410d8, the `CoroSplit` pass adds `DILabel`s
to help find the location of a suspension point from its suspension
point id. Those labels are added in both `DebugEmissionKind::FullDebug`
and `DebugEmissionKind::LineTableOnly` mode. The idea was that this
information is necessary to reconstruct async stack traces and should
hence also be available for LineTableOnly.
Unfortunately, it turns out that the DWARF backend does not expect to
find any DILabel debug metadata if the emission kind is set to
LineTableOnly. The Dwarf backend simply runs into an assertion in that
case.
This commit fixes the issue by only adding `DILabel` for FullDebug.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list