[PATCH] D83047: [LiveDebugValues] 2/4 Add instruction-referencing LiveDebugValues implementation

Djordje Todorovic via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 15 01:32:27 PDT 2020


djtodoro added a comment.

In D83047#2150869 <https://reviews.llvm.org/D83047#2150869>, @jmorse wrote:

> On the topic of entry values, I believe the value based tracking should make identifying entry values trivial -- all entry value numbers will be identifiable (as a ValueIDNum) with "BlockNo=0" and "InstNo="0", indicating a value defined before the first instruction of the first block. Ideally, the logic would be after machine-value-numbers and variable-values are propagated, when final locations are picked, and would look like this:
>
> - This variables value is an entry value (BlockNo=0,InstNo=0),
> - That value isn't available in any machine location right now
> - I will emit a DBG_VALUE containing a DW_OP_LLVM_entry_value expression.


My initial impression went in that direction.  The implementation of the callee side of the entry values feature (production of the DW_OP_entry_values) within Value Tracking System was trivial as well. I think this new implementation of LDV will give us more freedom to use entry-values even for modified parameters, if we can express the modification in terms of its entry value (i.e. `param = param + 2` ==> DW_OP_plus (DW_OP_entry_value (param), 2)).

> Right now I've got some extra work on this (InstrRefBasedLDV) patch to be done, more on that shortly, and a patch series adding some initial DBG_INSTR_REF support to upload. I should be able to prod the entry-value situation after that.




CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D83047/new/

https://reviews.llvm.org/D83047





More information about the llvm-commits mailing list