Displaying 5 results from an estimated 5 matches for "dbg_instr_ref".
2020 Sep 09
2
[RFC] [DebugInfo] Using DW_OP_entry_value within LLVM IR
...ng the SSA-like information from instruction
referencing. Here's the MIR for the reduced loop body, using
instruction-referencing [1] and lightly edited to remove noise, with
only variable locations for the 'i' variable. I've added some
explanatory comments:
DBG_PHI $rbx, 2
DBG_INSTR_REF 2, 0, !16, !DIExpression(), debug-location !23
; This is the load from *curptr:
renamable $rdi = MOV64rm renamable $r15, 8, renamable $rbx
; Call to ext,
CALL64pcrel32 @ext, csr_64, [implicit defs]
; Loop increment:
renamable $rbx = nuw nsw ADD64ri8 killed renamable $rbx, 1...
2020 Feb 25
2
[RFC] DebugInfo: A different way of specifying variable locations post-isel
...a critical feature (it isn't today), as we would no longer generate
> > stack locations during register allocation.
>
> Do you expect that handling for the current and new-style DBG_VALUEs could coexist in LiveDebugValues? Could that be done by e.g. introducing a new debug instr MI (DBG_INSTR_REF)?
I believe it should be relatively straightforwards: we would have an
additional kind of location-record (i.e. VarLoc) that, instead of
identifying a _variable_, identified the instruction/operand that
computed a value. Handling a DBG_INSTR_REF as you suggest would mean
looking up such a VarLoc b...
2020 Jun 18
4
[RFC] A value-tracking LiveDebugValues implementation
....e. clobbered), control flow joins are a simple matter of "Do
the predecessors agree on the location?", and not much more work is needed.
Switching to tracking variable values is more complicated. Following the
original proposal, for this pseudo-MIR code sequence:
$rax = somedef
DBG_INSTR_REF reference-to-somedef
$rbx = COPY killed $rax
; Variable location is $rax, then moves to $rbx
We need to track that:
a) $rax contains a value defined by the "somedef" instruction,
b) The DBG_INSTR_REF needs a location for the value somedef defines.
c) That value from "some...
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
2020 Feb 24
5
[RFC] DebugInfo: A different way of specifying variable locations post-isel
Hi debuginfo cabal,
tl;dr: I'd like to know what people think about an alternative to
DBG_VALUE instructions describing variable locations in registers,
virtual or real. Before instruction selection in LLVM-IR we identify
the _values_ of variables [0] by the instruction that computes the
value; I believe we should be able to do the same post-isel, and it
would avoid having to analyse register