[PATCH] IR: Add specialized debug info metadata nodes
Duncan P. N. Exon Smith
dexonsmith at apple.com
Wed Feb 4 14:50:59 PST 2015
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).
- Aside from the above, did I fail to match the current schema (in
llvm/IR/DebugInfo.h) some other way?
- I did this work as one big chunk because it was the easiest way for
me to match the hierarchy. I imagine reviewing it as a whole is
easier for the same reason, but if someone has a strong preference
for this to be broken up when I commit it (it'd take some work, but
it would be mechanical) let me know.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 156162 bytes
Desc: not available
More information about the llvm-commits