[PATCH] [DWARF] Fix a few corner cases in expression emission

Adrian Prantl aprantl at apple.com
Mon Jun 8 13:24:09 PDT 2015


> We could also be in the case that N == E. I think the right thing to do is actually to put the AddOpStackValue(); here, AddExpression below will add the DW_OP_piece if there is one.


That's what I meant with the regex-style question at the end of "DW_OP_reg Offset DW_OP_plus (DW_OP_bit_Piece x y)?".
My point was that in either case, the DW_OP_plus is the last arithmetic operation and that in the absence of a DW_OP_deref we should not be emitting an (=breg) register-//indirect// value.

The IR-expression

  [machinereg no. 5] 4 DW_OP_plus

should translate into

  DW_OP_reg DW_OP_constu 5 DW_OP_plus

and not into

  DW_OP_breg 5 DW_OP_constu 5 DW_OP_plus


REPOSITORY
  rL LLVM

http://reviews.llvm.org/D10302

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/






More information about the llvm-commits mailing list