search for: dw_op_constu_plus

Displaying 3 results from an estimated 3 matches for "dw_op_constu_plus".

2017 Sep 07
2
RFC: Introduce DW_OP_LLVM_memory to describe variables in memory with dbg.value
...To compute the value, the debugger starts from a register, goes to an offset, and loads a pointer, repeating the process until it finds the value. As we proceed through codegen, we effectively build up the chain. 1. To implement __block in Clang, we use dbg.declare(%block_descriptor, DW_OP_deref, DW_OP_constu_plus $offset) 2. Assuming the block descriptor lived in an alloca (which it doesn't, but assume it does for argument's sake), asan will move that alloca onto the heap to implement use-after-return detection. It will prepend "DW_OP_deref, DW_OP_constu, $offset" to the DIExpression. 3. I...
2017 Sep 07
2
RFC: Introduce DW_OP_LLVM_memory to describe variables in memory with dbg.value
...;> register, goes to an offset, and loads a pointer, repeating the process >> until it finds the value. As we proceed through codegen, we effectively >> build up the chain. >> >> 1. To implement __block in Clang, we use dbg.declare(%block_descriptor, >> DW_OP_deref, DW_OP_constu_plus $offset) >> > > Guessing it's the other way (constu_plus(offset), deref)? But in any > case... > We'd have a deref if %block_descriptor was actually an alloca containing a pointer, which is what I'm assuming for this example. Deref loads the pointer, then we go to som...
2017 Sep 06
4
RFC: Introduce DW_OP_LLVM_memory to describe variables in memory with dbg.value
On Wed, Sep 6, 2017 at 10:01 AM, David Blaikie <dblaikie at gmail.com> wrote: > On Tue, Sep 5, 2017 at 1:00 PM Reid Kleckner via llvm-dev < > llvm-dev at lists.llvm.org> wrote: > >> LLVM SSA values obviously do not have an address that we can take and >> they don’t live in registers, so neither the default memory location model >> nor DW_OP_regN make sense