Commit Graph

4 Commits

Author SHA1 Message Date
Emil Pedersen 370d0dc771 [DebugInfo] Fix salvage tuple when a debug block exists
This tuple salvage logic is the same as the struct salvage logic.

Assisted-by: Claude
2026-06-01 11:37:41 +02:00
Emil Pedersen c51c3d2b71 [DebugInfo] Fix salvage struct when a debug block exists
When a debug reconstruction block exists, adding a fragment is invalid.
Instead, salvage the struct instruction into the existing block. As
these blocks don't support multiple inputs, only one element is
salvaged, but this works well for single-element structs.

Additionally, to avoid crashes, a special case is added for empty
structs, which don't require any input.

Assisted-by: Claude
2026-06-01 11:37:35 +02:00
Emil Pedersen 7907fa75b8 [DebugInfo] Immediately salvage debug basic block instructions in IRGen
Instructions emitted as part of the transform block of a debug_value
are now immediately deleted as soon as the debug record is created.

They are salvaged by LLVM's salvageDebugInfo, and as such, their
effects are encoded into the DIExpression of the debug record.

Assisted-by: Claude
2026-05-13 16:03:53 +01:00
Emil Pedersen aac6dec294 [DebugInfo] Add basic IRGen support to debug basic blocks
Assisted-by: Claude
2026-05-13 16:03:53 +01:00