[llvm] [MachineOutliner] Preserve debug locations on outlined call sequences (PR #224189)
Ian Anderson via llvm-commits
llvm-commits at lists.llvm.org
Mon Oct 5 19:50:06 PDT 2026
ian-twilightcoder wrote:
> Thanks @ian-twilightcoder, confirmed. The inlined BufferedStackTrace ctor and the GetCurrentPc() call get outlined together as a thunk, and #224189 gave the outlined call the ctor's location, so frame #0 picked up the inlined frames.
>
> Fixed in #229260: when a candidate contains a call, the outlined call now takes the last call's location, so unwinding through it matches the non-outlined code. Frame #0 should be strcpy.cold.1 asan_interceptors.cpp:642. Could you verify on your side?
>
> In general, an outlined call can carry only one location for the whole sequence it replaces, so we prioritize call sites for unwinding. That's exact for a single call like this one, but inhrently it can't be exact for every call when a sequence has several.
That fixes our tests, thank you!
https://github.com/llvm/llvm-project/pull/224189
More information about the llvm-commits
mailing list