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

Eric Christopher echristo at gmail.com
Tue Jan 13 10:14:41 PST 2015


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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150113/4526e2cd/attachment.html>


More information about the llvm-dev mailing list