[lld] [llvm] [Symbolizer] Support for Missing Line Numbers. (PR #82240)

via llvm-commits llvm-commits at lists.llvm.org
Wed Mar 13 02:57:15 PDT 2024


ampandey-1995 wrote:

> Is it suitable to give the user the choice between forwards and backwards propagation? How would someone decide which is right for them?

>From my perspective, I believe it is good to provide iterative forward/backwards search for approximate line information within function boundaries.  Most users would rely on backwards estimate but it is also not wrong to provide forward estimate.

> That this can propagate past basic block, or even function boundaries seems pretty problematic - since the answer could then change depending on code layout, or could give someone a totally wrong function (ask me about what GCC did with LLVM's use of is_stmt many years ago - that was fun, breaking on a function would cause GCC to break on both the function you asked about, and the end of the previous function in the code... due to a bug like this one - it started at the instruction where the function started, then went searching to figure out which statement covered that instruction - which was back in the function that preceeded the one you were trying to break on... good times)

Thanks, the current revision considers the function boundaries also to be taken into account for the forward/backward line information estimation.


https://github.com/llvm/llvm-project/pull/82240


More information about the llvm-commits mailing list