[PATCH] IR: Move the complex address expression field out of DIVariable and into an extra argument of the dbg.declare/dbg.value intrinsics.

Adrian Prantl aprantl at apple.com
Fri Aug 22 09:49:12 PDT 2014


> On Aug 22, 2014, at 7:36 AM, Duncan Exon Smith <dexonsmith at apple.com> wrote:
> 
> 
>> On Aug 21, 2014, at 17:54, Adrian Prantl <aprantl at apple.com> wrote:
>> 
>> in fact, TBAA is the *only* other kind of metadata that I'm aware of
> 
> BTW, the other one is branch_weights for PGO. 

<Off-topic> Is Phab supposed to be able to display Duncan's email?</Off-topic>

```
!10 = metadata !{metadata !"branch_weights", i32 3, i32 1}
```

I see, it looks like we went with the most heavyweight (=pointer-sized) tag imaginable there.
What about using the range immediately above DW_TAG_hi_user, so we can’t possibly have any conflicts (other than line numbers)?
```
    enum ComplexAddrKind {
      OpFirst = dwarf::DW_TAG_hi_user +1,
      OpPlus  = OpFirst + dwarf::DW_OP_plus,
      OpDeref = OpFirst + dwarf::DW_OP_deref,
      OpPiece = OpFirst + dwarf::DW_OP_piece,
      OpLast = OpPiece
    };
```

-- adrian



More information about the llvm-commits mailing list