search for: dw_op_entry_value

Displaying 16 results from an estimated 16 matches for "dw_op_entry_value".

2020 Sep 01
4
[RFC] [DebugInfo] Using DW_OP_entry_value within LLVM IR
...ams). The most interesting DWARF attribute for us (here) is DW_AT_call_value which contains a DWARF expression which represents a value of the parameter at the time of the call. For the context of this RFC, more relevant part of the feature is the callee side, and it refers to new DWARF operation - DW_OP_entry_value, used to indicate that in some situations we can use parameter’s entry value as a real value in the current frame. It relies on the call-site info provided, and the more DW_AT_call_value generated, the more debug location inputs using DW_OP_entry_value will be turned into real values. Current impl...
2020 Sep 01
2
[RFC] [DebugInfo] Using DW_OP_entry_value within LLVM IR
...; vsk at apple.com <vsk at apple.com>; aprantl at apple.com <aprantl at apple.com>; Petar Jovanovic <petar.jovanovic at syrmia.com>; Nikola Tesic <Nikola.Tesic at syrmia.com>; dblaikie at gmail.com <dblaikie at gmail.com> Subject: Re: [llvm-dev] [RFC] [DebugInfo] Using DW_OP_entry_value within LLVM IR Hi! On Tue, 2020-09-01 at 07:35 +0000, Djordje Todorovic wrote: > Hi all, > > The debug entry values feature introduces new DWARF symbols (tags, attributes, > operations) on caller (call site) as well as on callee side; and the intention > is to improve debugging use...
2020 Sep 08
2
[RFC] [DebugInfo] Using DW_OP_entry_value within LLVM IR
Hi Djordje, [Late reply as I was away, alas], For the example in https://reviews.llvm.org/D85012 , I'm not sure that just using an entry value is correct. The reason why the dbg.values for arguments are set to undef is not because the value can't be described, it's because deadargelim changes all the call sites to pass in 'undef', which I believe makes the value unrecoverable
2019 Feb 08
3
RFC: [DebugInfo] Improving Debug Information in LLVM to Recover Optimized-out Function Parameters
...s now fully implemented in internal Clang/LLVM 4.0 version. > We presented a talk on our work at FOSDEM 2019[4]. > Thank you for posting this. This looks very interesting! Since your proposal has a lot of different components, Sema support, DW_AT_call_site_parameter support, DW_OP_entry_value support, it will probably be best to split them out into separate reviews, but it's also good to discuss the proposal in its entirety first. I have a bunch of questions to make sure I fully understand what you are doing. Sure, we will post several patches, each as a logical unit. >...
2020 Sep 09
2
[RFC] [DebugInfo] Using DW_OP_entry_value within LLVM IR
Hi Djordje, On Wed, Sep 9, 2020 at 7:52 AM Djordje Todorovic <Djordje.Todorovic at syrmia.com> wrote: > Using entry-values ('callee' side of the feature) is not enough in any case. It is always connected to the call-site-param (function arguments but we call it call-site-params; 'caller' side of the feature) debug info. I believe that there are call-site-params that could
2019 Feb 12
2
RFC: [DebugInfo] Improving Debug Information in LLVM to Recover Optimized-out Function Parameters
...copied/loaded from in a target-independent way? Would it be easier in earlier pre-regalloc MIR, or does that have the same problem because the instructions are already target-specific? > However, such analysis > might not be complete as current approach. It would not be able to > produce ‘DW_OP_entry_values’ in ‘DW_TAG_call_site_value’ expression of > call site parameter as a late pass. > > As example think of callee function that forwards its argument in > function call in entry block and never uses that argument again: > %vreg = COPY $rsi; -> > …. <no use of $...
2019 Feb 08
2
RFC: [DebugInfo] Improving Debug Information in LLVM to Recover Optimized-out Function Parameters
...0 version. > > We presented a talk on our work at FOSDEM 2019[4]. > > > > Thank you for posting this. This looks very interesting! Since your > proposal has a lot of different components, Sema support, > DW_AT_call_site_parameter support, DW_OP_entry_value support, it will > probably be best to split them out into separate reviews, but it's also > good to discuss the proposal in its entirety first. I have a bunch of > questions to make sure I fully understand what you are doing. > > Sure, we will post several p...
2019 Feb 07
2
RFC: [DebugInfo] Improving Debug Information in LLVM to Recover Optimized-out Function Parameters
...tion following identity copy instructions that leads to overlapping of parameter transferring register location and location that is loaded into that register. The last challenge is to extend LiveDebugValues pass to generate additional DBG_VALUE instructions with new kind of debug expression (with ‘DW_OP_entry_value’) for parameters that meet the requirements described in [1]. Finally, emitting call-site debug information can be controlled by ‘-debugger-tune’ and ‘-dwarf-version’ LLVM code-generation flags, since not all debuggers used in the community consume this DWARF information. Location coverage improv...
2019 Sep 10
2
Dwarf - 5 features in clang and llvm
...utes is implemented very late, in the LLVM middle-end. > Please note that there is also the IR-level flag (DIFlagAllCallsDescribed) that lowers to > the DW_AT_call_all_calls. > > There is also support for call-site-parameter (DW_TAG_call_site_parameter) and the debug entry values > (DW_OP_entry_value) related DWARF 5 symbols, but it is restricted by the CC1 option ‘-femit-debug-entry-values’, > since the LLDB is still missing support for that. Not for too long ;) See https://reviews.llvm.org/D67410 <https://reviews.llvm.org/D67410> & https://reviews.llvm.org/D67376 <https://re...
2019 Feb 14
2
RFC: [DebugInfo] Improving Debug Information in LLVM to Recover Optimized-out Function Parameters
...l site parameters, we might be able to do all > necessary parameter's tracking in some separate MIR pass (not very late, > somewhere after ISEL). > >>> However, such analysis >>> might not be complete as current approach. It would not be able to >>> produce ‘DW_OP_entry_values’ in ‘DW_TAG_call_site_value’ expression of >>> call site parameter as a late pass. >>> >>> As example think of callee function that forwards its argument in >>> function call in entry block and never uses that argument again: >>> %vreg = COPY $rsi;...
2019 Sep 10
2
Dwarf - 5 features in clang and llvm
Hello All, I was working on some dwarf-5 features and debugging optimized code support in clang and llvm. Noticed that, DW_TAG_call_site is supported in llvm middle-end. but clang is not emitting these. I was hoping, if someone could provide current status of these features and current status of dwarf-5 features in clang and llvm. That will be immensely helpful. Thanks! Sourabh. --------------
2020 Sep 22
2
Optimised-code debugging experience Round Table
...sony.com Below is a non-exhaustive list of possible topics. Feel free to include any preferences and suggestions in your response. a. Line tables: 1. Can we fix is_stmt? 2. Is prologue_end reliable? 3. General stepping behaviour/quality. b. Variable locations: 1. The state of DW_OP_entry_values in llvm. 2. The state of the instruction-referencing DBG_VALUE work. 3. The state of multi-register DWARF expressions in llvm. 4. The possibility of salvaging out-of-liveness values using the 3 projects mentioned above. 5. Floating point debug-info quality in llvm. 6. Loop indu...
2019 Feb 14
2
RFC: [DebugInfo] Improving Debug Information in LLVM to Recover Optimized-out Function Parameters
...call site parameters are the best solution > > let me know if that makes sense. > > Thanks, > adrian > >>> >>>>> However, such analysis >>>>> might not be complete as current approach. It would not be able to >>>>> produce ‘DW_OP_entry_values’ in ‘DW_TAG_call_site_value’ expression of >>>>> call site parameter as a late pass. >>>>> >>>>> As example think of callee function that forwards its argument in >>>>> function call in entry block and never uses that argument again: &gt...
2019 Sep 11
3
Dwarf - 5 features in clang and llvm
...> >> Please note that there is also the IR-level flag > (DIFlagAllCallsDescribed) that lowers to > >> the DW_AT_call_all_calls. > >> > >> There is also support for call-site-parameter > (DW_TAG_call_site_parameter) and the debug entry values > >> (DW_OP_entry_value) related DWARF 5 symbols, but it is restricted by > the CC1 option ‘-femit-debug-entry-values’, > >> since the LLDB is still missing support for that. > > > > Not for too long ;) > > > > See https://reviews.llvm.org/D67410 & https://reviews.llvm.org/D67376 &g...
2020 Sep 23
3
Optimised-code debugging experience Round Table
....com> Below is a non-exhaustive list of possible topics. Feel free to include any preferences and suggestions in your response. a. Line tables: 1. Can we fix is_stmt? 2. Is prologue_end reliable? 3. General stepping behaviour/quality. b. Variable locations: 1. The state of DW_OP_entry_values in llvm. 2. The state of the instruction-referencing DBG_VALUE work. 3. The state of multi-register DWARF expressions in llvm. 4. The possibility of salvaging out-of-liveness values using the 3 projects mentioned above. 5. Floating point debug-info quality in llvm. 6. Loop indu...
2019 Feb 22
3
RFC: [DebugInfo] Improving Debug Information in LLVM to Recover Optimized-out Function Parameters
...G_CALLSITEPARAM and producing it from ISEL phase (with dispatched IR part). Thanks, Nikola >>>>> >>>>>>> However, such analysis >>>>>>> might not be complete as current approach. It would not be able to >>>>>>> produce ‘DW_OP_entry_values’ in ‘DW_TAG_call_site_value’ expression of >>>>>>> call site parameter as a late pass. >>>>>>> >>>>>>> As example think of callee function that forwards its argument in >>>>>>> function call in entry block and neve...