[clang] [Clang][CodeGen][X86] don't coerce int128 into `{i64,i64}` for SysV-like ABIs (PR #135230)
Jeremy Morse via cfe-commits
cfe-commits at lists.llvm.org
Wed Apr 23 04:04:42 PDT 2025
jmorse wrote:
> To solve this problem in general, it would probably(?) be best to make SROA create fragment #dbg_value records if it decomposes an alloca into multiple IR values but I have no idea how difficult that would be to accomplish.
An example of this happening today with C++ structured bindings is here: https://godbolt.org/z/rn3os13M7 . Specifically, the i64 return value from "f", a squashed-together pair of i32s, is decomposed into two `#dbg_value`s corresponding to the two variables that the structured-binding assigns to. Each `#dbg_value` refers to different IR Values, which seems similar to what's desired here. The major difference is that structured bindings have independent source variables contained within one alloca; wheras the situation here is one source variable being split into fragments.
https://github.com/llvm/llvm-project/pull/135230
More information about the cfe-commits
mailing list