[PATCH] IR: Add specialized debug info metadata nodes

Frédéric Riss friss at apple.com
Wed Feb 4 15:37:00 PST 2015

> On Feb 4, 2015, at 3:00 PM, Duncan P. N. Exon Smith <dexonsmith at apple.com> wrote:
>> On 2015-Feb-04, at 14:58, David Blaikie <dblaikie at gmail.com> wrote:
>> On Wed, Feb 4, 2015 at 2:50 PM, Duncan P. N. Exon Smith <dexonsmith at apple.com> wrote:
>> Add specialized debug info metadata nodes that match the `DIDescriptor`
>> wrappers (used by `DIBuilder`) closely.  Assembly and bitcode support to
>> follow soon (it'll mostly just be obvious), but this sketches in today's
>> schema.  This is the first big commit (well, the only *big* one aside
>> from the testcase changes that'll come when I move this into place) for
>> PR22464.
>> I've marked a bunch of obvious changes as `TODO`s in the source; I plan
>> to make those changes promptly after this hierarchy is moved underneath
>> `DIDescriptor`, but for now I'm aiming mostly to match the status quo.
>> I don't need a low-level review here (although always welcome); I'm
>> mainly looking for the following:
>>  - The word 'context' is overloaded: `MDNode::getContext()` already
>>    exists, and returns an `LLVMContext&`; `DIDescriptor` uses 'context'
>>    to mean "the node that this one is defined inside".  I chose the
>>    word 'parent' instead of 'context' here.  Is this word okay?  If
>>    not, what about 'scope'?  This will be reflected in the assembly
>>    changes to come (I'd like the C++ names to match the assembly names,
>>    although technically it's not necessary).
>> I'd /probably/ go with scope (we already have scope in the MDLocations, so that seems consistent), but fairly on-the-fence.
> Weirdly, I didn't even notice that :).  In that case I like 'scope'
> better too.  I'll update to that before commit.

Seems most natural. Can the futur getScope() return something that doesn’t derive from MDScope?

I spent some time looking at the hierarchy and couldn’t spot a hole in your mapping to the existing one.


More information about the llvm-commits mailing list