search for: mdlinetable

Displaying 5 results from an estimated 5 matches for "mdlinetable".

2014 Oct 16
2
[LLVMdev] [RFC] Less memory and greater maintainability for debug info IR
...ld64's >> -save-temps option) that currently peaks at 15.3GB. >> >> 1. Introduce `MDUser`, which inherits from `User`, and whose `Use`s >> must all be metadata. The cost per operand is 1 pointer, vs. 4 >> pointers in an `MDNode`. >> >> 2. Create `MDLineTable` as the first subclass of `MDUser`. Use normal >> fields (not `Value`s) for the line and column, and use `Use` >> operands for the metadata operands. >> >> On x86-64, this will save 104B / line table entry. Linking >> `llvm-lto` uses ~7M line-table entrie...
2014 Oct 13
9
[LLVMdev] [RFC] Less memory and greater maintainability for debug info IR
...vm-lto.lto.bc`, an already-linked bitcode file dumped by ld64's -save-temps option) that currently peaks at 15.3GB. 1. Introduce `MDUser`, which inherits from `User`, and whose `Use`s must all be metadata. The cost per operand is 1 pointer, vs. 4 pointers in an `MDNode`. 2. Create `MDLineTable` as the first subclass of `MDUser`. Use normal fields (not `Value`s) for the line and column, and use `Use` operands for the metadata operands. On x86-64, this will save 104B / line table entry. Linking `llvm-lto` uses ~7M line-table entries, so this on its own saves ~700MB....
2014 Oct 15
3
[LLVMdev] [RFC] Less memory and greater maintainability for debug info IR
...ur? > > > > > >> > >> > >> 1. Introduce `MDUser`, which inherits from `User`, and whose `Use`s > >> must all be metadata. The cost per operand is 1 pointer, vs. 4 > >> pointers in an `MDNode`. > >> > >> 2. Create `MDLineTable` as the first subclass of `MDUser`. Use normal > >> fields (not `Value`s) for the line and column, and use `Use` > >> operands for the metadata operands. > >> > >> On x86-64, this will save 104B / line table entry. Linking > >> `llvm-lt...
2014 Oct 14
2
[LLVMdev] [RFC] Less memory and greater maintainability for debug info IR
...really like saying "peak" here. Is there a definite peak? When does it occur? > > 1. Introduce `MDUser`, which inherits from `User`, and whose `Use`s > must all be metadata. The cost per operand is 1 pointer, vs. 4 > pointers in an `MDNode`. > > 2. Create `MDLineTable` as the first subclass of `MDUser`. Use normal > fields (not `Value`s) for the line and column, and use `Use` > operands for the metadata operands. > > On x86-64, this will save 104B / line table entry. Linking > `llvm-lto` uses ~7M line-table entries, so this on it...
2014 Oct 24
8
[LLVMdev] First-class debug info IR: MDLocation
...scope: !4) !7 = metadata MDLocation(scope: !5, line: 67, inlinedAt: !6) The fields can be listed in any order. The `scope:` field is required, but the others are optional (`line:` and `column:` default to `0`, `inlinedAt:` defaults to `null`). (Note that in the RFC I referred to this as an `MDLineTable`, but `MDLocation` is a better name. If/when this work supersedes the `DIDescriptor` hierarchy, it'll likely get renamed to `DILocation`, but for now there's a name clash.) Where this is heading ===================== Let's look at a concrete example. Here's some simple C++ code:...