[LLVMdev] [RFC] First-class debug info IR: MDLocation (redux)

Duncan P. N. Exon Smith dexonsmith at apple.com
Wed Jan 14 20:26:58 PST 2015


> On 2015 Jan 13, at 11:13, Robinson, Paul <Paul_Robinson at playstation.sony.com> wrote:
> 
>> I suspect it would actually be *better* if I got all this in before
>> the branch, since it'll make cherry-picking testcases easier.
> 
> Excellent point, go for it.

I missed the branch deadline, but I merged it in as of r226095.

> --paulr
> 
>> 
>> However, these patches themselves (and I suspect a few more prep
>> commits) don't actually move `MDLocation` into place -- it's not
>> until then that all the testcase updates have to happen.  I'm not
>> convinced that (monster) commit will land by tomorrow :(.
>> 
>>> On 2015-Jan-13, at 10:34, Robinson, Paul
>> <Paul_Robinson at playstation.sony.com> wrote:
>>> 
>>> Okay, we can deal with it, just seemed like a bit much right around
>> release time.
>>> --paulr
>>> 
>>> From: Eric Christopher [mailto:echristo at gmail.com]
>>> Sent: Tuesday, January 13, 2015 10:15 AM
>>> To: Robinson, Paul; Duncan P. N. Exon Smith; LLVM Developers Mailing
>> List
>>> Subject: Re: [LLVMdev] [RFC] First-class debug info IR: MDLocation
>> (redux)
>>> 
>>> Hi Paul,
>>> 
>>> I'm not sure I see any reason to wait until after 3.6. More changes are
>> incoming and it's better to get them over with sooner rather than spread
>> out the pain.
>>> 
>>> Thanks!
>>> 
>>> -eric
>>> 
>>> On Mon Jan 12 2015 at 9:52:48 PM Robinson, Paul
>> <Paul_Robinson at playstation.sony.com> wrote:
>>> Would you mind terribly waiting a week, until after 3.6 is forked?
>>> We're barely caught up with the last big metadata syntax change.
>>> Thanks,
>>> --paulr
>>> 
>>> From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu]
>> On Behalf Of Duncan P. N. Exon Smith
>>> Sent: Monday, January 12, 2015 8:30 PM
>>> To: LLVM Developers Mailing List
>>> Subject: [LLVMdev] [RFC] First-class debug info IR: MDLocation (redux)
>>> 
>>> After splitting `Metadata` apart from `Value`, I'm finally back to the
>>> first step [1] of representing debug info more directly in IR [2]:
>>> `MDLocation`.
>>> 
>>> [1]: http://lists.cs.uiuc.edu/pipermail/llvmdev/2014-October/078173.html
>>>        "First-class debug info IR: MDLocation"
>>> [2]: http://lists.cs.uiuc.edu/pipermail/llvmdev/2014-October/077715.html
>>>        "Less memory and greater maintainability for debug info IR"
>>> 
>>> I've attached two patches which are both essentially commit-ready (just
>>> missing LangRef update, AFAIK), although they just add the class and
>>> assembly/bitcode support.  Once it's in tree, I'll move it into place
>>> underneath `DebugLoc` and `DILocation` and update the world of
>>> testcases, publish a script, and so forth.
>>> 
>>> Assembly syntax
>>> ===============
>>> 
>>> I've changed the assembly syntax a little since my previous proposal
>>> [1], but I kept the fundamentals the same:
>>> 
>>>  - Fields use key/value pairs and can be specified in any order.
>>>  - No types (unless you're referencing a `Value`).
>>>  - Some fields are required (in this case, 'scope:').
>>>  - Unspecified fields get sane default values.
>>> 
>>> Old syntax:
>>> 
>>>    !6 = metadata MDLocation(line: 43, column: 7, scope: !4)
>>> 
>>> Now it's:
>>> 
>>>    !6 = !MDLocation(line: 43, column: 7, scope: !4)
>>> 
>>> Here's why:
>>> 
>>>  - Dropped 'metadata' since `Metadata` is now typeless \O/.
>>> 
>>>  - Added a '!' since it makes the parser simpler (no changes to the
>>>    lexer, since we can unambiguously reuse the `MetadataVar` token),
>>>    and follows the rule that "All metadata are identified in syntax by
>>>    a[n] exclamation point" [3].  (If people are opposed to the extra
>>>    '!' I can update this sentence instead, but it seems like a handy
>>>    mnemonic to maintain.)
>>> 
>>> [3]: http://llvm.org/docs/LangRef.html#metadata
>>> 
>>> Where this is heading
>>> =====================
>>> 
>>> See my previous post [1] ;).
>>> 
>>> _______________________________________________
>>> LLVM Developers mailing list
>>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>>> _______________________________________________
>>> LLVM Developers mailing list
>>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
> 





More information about the llvm-dev mailing list