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
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