Displaying 1 result from an estimated 1 matches for "regoriginal".
Did you mean:
redoriginal
2011 Jan 18
2
[LLVMdev] Dwarf info for byref register variables
...W_FORM_sdata, Location.getOffset());
}
What's going on in the 'else' block of the first nested 'if' (where
Location.isReg() && Reg >=32)? It looks wrong to me.
If you expand out the opcode parameter, you get:
Opcode = DW_OP_breg0 + Reg
= DW_OP_breg0 + (RegOriginal - DW_OP_reg0)
= RegOriginal + (DW_OP_breg0 - DW_OP_reg0)
= RegOriginal + (0x70 - 0x50)
= RegOriginal + 0x20
= RegOriginal + DW_OP_not
Since we know that RegOriginal >= 32, the opcode that gets generated
is one that has a value >= 0x40, which is DW_OP_lit16...