Duncan P. N. Exon Smith
2015-Jan-13 18:51 UTC
[LLVMdev] [RFC] First-class debug info IR: MDLocation (redux)
I suspect it would actually be *better* if I got all this in before the branch, since it'll make cherry-picking testcases easier. 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
Robinson, Paul
2015-Jan-13 19:13 UTC
[LLVMdev] [RFC] First-class debug info IR: MDLocation (redux)
> 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. --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
Duncan P. N. Exon Smith
2015-Jan-15 04:26 UTC
[LLVMdev] [RFC] First-class debug info IR: MDLocation (redux)
> 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 >