OCHyams wrote: Thanks @CarlosAlbertoEnciso, with the new commit description I think I get what this patch is aiming for.
To summarise, the SCE debugger wants to look at `DW_AT_call_origin` in parent call frames to determine "did the parent frame call this function in source code?". Answering "no" then indicates presence code folding or tail calls. And this proposed change adds coverage for that feature (because with the patch, that feature works for virtual calls too). Is that right @CarlosAlbertoEnciso? I think my initial questions we going into the weeds trying to think about virtual call sites generally rather than what seems to be a targeted and specific use case. > I think this means that a virtual call should be represented by a > DW_AT_call_target with a DWARF expression that finds the call target, i.e., > by finding the correct slot in the vtable. Having now read Carlos' new commit description I wonder if this is orthogonal to the proposed change. Especially as we do already emit `DW_AT_call_target` for indirect (including virtual) calls, it just uses a more direct location. Hypothetically, we could have both that call_target location change (which IIUC does not serves the SCE debugger use-case) and the DW_AT_call_origin change. https://github.com/llvm/llvm-project/pull/167666 _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
