llvm-project
6bc51352 - [DebugInfo] Truncate implicit value constants to source type width (#206671)

Commit
28 days ago
[DebugInfo] Truncate implicit value constants to source type width (#206671) This is a follow-up to #204353. mikaelholmen and bevin-hansson reported that the previous change could assert downstream when emitting `DW_OP_implicit_value` for a source integer type wider than the target generic DWARF stack type, if the debug-value carrier integer contains bits outside the declared source type width. The fix is to construct the source-width `APInt` with explicit truncation enabled before emitting the implicit value bytes. This preserves the intended wrap/truncate behavior and avoids asserting on otherwise recoverable debug-value input. A regression test is added for an `unsigned _BitInt(48)` debug value on i386, covering both an out-of-range positive carrier value and an all-ones negative carrier value.
Author
Parents
Loading