[PATCH] IR: Add specialized debug info metadata nodes
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
>> 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