John Reagan via llvm-dev
2018-Feb-14 17:28 UTC
[llvm-dev] Adding comments to 'MachineInstruction'
We'll be doing something similar for our OpenVMS port. Right now I'm using "AsmStreamer->GetCommentOS()" and writing to the stream at the assembler level but that gets aligned on a right-side column (the column is hardcoded) and you have to be in verbose mode. So if you come up with something or have a quick design, post it so perhaps we can leverage each other's work. Our prior code generator provided an "annotations" package that would let such comments strings get emitted either as stand-along lines in the machine output or as part of some "end of line" comments. John On 2/5/18 3:00 PM, via llvm-dev wrote:> Message: 6 > Date: Mon, 5 Feb 2018 19:31:58 -0000 > From: "Martin J. O'Riordan via llvm-dev" <llvm-dev at lists.llvm.org> > To: <mbraun at apple.com> > Cc: 'LLVM Developers' <llvm-dev at lists.llvm.org> > Subject: Re: [llvm-dev] Adding comments to 'MachineInstruction' > Message-ID: <006701d39eb7$fda8ac90$f8fa05b0$@theheart.ie> > Content-Type: text/plain; charset="utf-8" > > Thanks Matthias, > > > > It looks like the comments that do exist are emitted are pre-cooked and depend on some other attribute of the MI or the context of the MI. Curiously enough, a couple of years ago I had thought about this, but I wanted to have different comments used for instructions selected by the TableGen pattern matcher versus those crafted directly in the C++ code which would be very useful when debugging obscure code-generation issues. > > > > All the best, > > > > MartinO > > > > From: mbraun at apple.com [mailto:mbraun at apple.com] > Sent: 05 February 2018 17:08 > To: Martin J. O'Riordan <MartinO at theheart.ie> > Cc: LLVM Developers <llvm-dev at lists.llvm.org> > Subject: Re: [llvm-dev] Adding comments to 'MachineInstruction' > > > > There is no generic mechanism as far as I know. You can look at AsmPrinter.cpp/emitComments() to see what situations trigger comments at the moment. > > > > - Matthias > > > > > > On Feb 3, 2018, at 4:40 AM, Martin J. O'Riordan via llvm-dev <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org> > wrote: > > > > When I am constructing sequences of instructions during custom lowering, I would like to be able to also add a comment that appears in the generated assembly with ‘-S -fverbose-asm’. There is a large set of ‘add*’ functions to attach additional information to the MI, but I don’t see one for adding comments. > > > > Is there a method I can call to attach an arbitrary string (‘StringRef’, ‘const char*’, ‘Twine’) to an MI with ‘BuildMI’ or after? > > > > Thanks, > > > > MartinO > > > > _______________________________________________ > LLVM Developers mailing list > <mailto:llvm-dev at lists.llvm.org> llvm-dev at lists.llvm.org > <http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180214/519def50/attachment.html> -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: OpenPGP digital signature URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180214/519def50/attachment.sig>
Martin J. O'Riordan via llvm-dev
2018-Feb-17 21:53 UTC
[llvm-dev] Adding comments to 'MachineInstruction'
Hi John,
Actually, I haven’t tried to resolve this. My original question was apreamble
to deciding whether or not I needed to devise a solution, but I have not yet
started on a solution. My feeling is that it would be useful to add an MI
annotation for such comments, and perhaps introduce something to TableGen
analogous to ‘${:comment}’ like:
${:verbose-comment}
that could allow the TD patterns to provide a comment independent of the BuildMI
interface, with the BuildMI interface taking precedence. The
'GetCommentOS' interface is too crude for what I want, and also does not
allow me to attach comments when I am building an MI tree.
If I do implement something, I would be quite happy to share it.
Thanks,
MartinO
From: John Reagan [mailto:john.reagan at vmssoftware.com]
Sent: 14 February 2018 17:28
To: llvm-dev at lists.llvm.org; MartinO at theheart.ie; mbraun at apple.com
Subject: Re: [llvm-dev] Adding comments to 'MachineInstruction'
We'll be doing something similar for our OpenVMS port. Right now I'm
using "AsmStreamer->GetCommentOS()" and writing to the stream at
the assembler level but that gets aligned on a right-side column (the column is
hardcoded) and you have to be in verbose mode. So if you come up with something
or have a quick design, post it so perhaps we can leverage each other's
work. Our prior code generator provided an "annotations" package that
would let such comments strings get emitted either as stand-along lines in the
machine output or as part of some "end of line" comments.
John
On 2/5/18 3:00 PM, via llvm-dev wrote:
Message: 6
Date: Mon, 5 Feb 2018 19:31:58 -0000
From: "Martin J. O'Riordan via llvm-dev" <llvm-dev at
lists.llvm.org>
To: <mbraun at apple.com>
Cc: 'LLVM Developers' <llvm-dev at lists.llvm.org>
Subject: Re: [llvm-dev] Adding comments to 'MachineInstruction'
Message-ID: <006701d39eb7$fda8ac90$f8fa05b0$@theheart.ie>
Content-Type: text/plain; charset="utf-8"
Thanks Matthias,
It looks like the comments that do exist are emitted are pre-cooked and depend
on some other attribute of the MI or the context of the MI. Curiously enough, a
couple of years ago I had thought about this, but I wanted to have different
comments used for instructions selected by the TableGen pattern matcher versus
those crafted directly in the C++ code which would be very useful when debugging
obscure code-generation issues.
All the best,
MartinO
From: mbraun at apple.com [mailto:mbraun at apple.com]
Sent: 05 February 2018 17:08
To: Martin J. O'Riordan <MartinO at theheart.ie>
Cc: LLVM Developers <llvm-dev at lists.llvm.org>
Subject: Re: [llvm-dev] Adding comments to 'MachineInstruction'
There is no generic mechanism as far as I know. You can look at
AsmPrinter.cpp/emitComments() to see what situations trigger comments at the
moment.
- Matthias
On Feb 3, 2018, at 4:40 AM, Martin J. O'Riordan via llvm-dev <llvm-dev at
lists.llvm.org <mailto:llvm-dev at lists.llvm.org> > wrote:
When I am constructing sequences of instructions during custom lowering, I would
like to be able to also add a comment that appears in the generated assembly
with ‘-S -fverbose-asm’. There is a large set of ‘add*’ functions to attach
additional information to the MI, but I don’t see one for adding comments.
Is there a method I can call to attach an arbitrary string (‘StringRef’, ‘const
char*’, ‘Twine’) to an MI with ‘BuildMI’ or after?
Thanks,
MartinO
_______________________________________________
LLVM Developers mailing list
<mailto:llvm-dev at lists.llvm.org> llvm-dev at lists.llvm.org
<http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev>
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev