Would adding a flag to MachineInstr::MIFlag do the trick? I'm thinking that fast isel could ensure that a flag (e.g. MIFlag::FastISel) is added to the instructions it creates, then the instruction printer could optionally emit a comment for instructions that have this flag.> -----Original Message----- > From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] > On Behalf Of Reed Kotler > Sent: 16 April 2014 22:17 > To: LLVMdev at cs.uiuc.edu > Subject: Re: [LLVMdev] adding comment > > On 04/16/2014 02:06 PM, reed kotler wrote: > > Is there a simple way to add a comment in the machine instructions of > > a basic block? > > > > Ideally something that can be used with machine instruction builder. > > > > Tia. > > > > Reed > > In this case, I am working on the fast instruction selector for mips. > > I want to be able to tag instructions or regions of instructions that are > emitted by the fast instruction selector as opposed to the normal > mechanism. > > In fast instruction selector can always report that it cannot emit instructions > for some construct and then that part falls on the normal mechanism; though > in some cases the actual machine instructions emitted would be the same. > > So I want to be able to look for some kind of tag in the make check tests. > > Tia. > > Reed > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
Maybe adding it to CommentFlag would be slightly better. On 04/17/2014 02:23 AM, Daniel Sanders wrote:> Would adding a flag to MachineInstr::MIFlag do the trick? I'm thinking that fast isel could ensure that a flag (e.g. MIFlag::FastISel) is added to the instructions it creates, then the instruction printer could optionally emit a comment for instructions that have this flag. > >> -----Original Message----- >> From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] >> On Behalf Of Reed Kotler >> Sent: 16 April 2014 22:17 >> To: LLVMdev at cs.uiuc.edu >> Subject: Re: [LLVMdev] adding comment >> >> On 04/16/2014 02:06 PM, reed kotler wrote: >>> Is there a simple way to add a comment in the machine instructions of >>> a basic block? >>> >>> Ideally something that can be used with machine instruction builder. >>> >>> Tia. >>> >>> Reed >> >> In this case, I am working on the fast instruction selector for mips. >> >> I want to be able to tag instructions or regions of instructions that are >> emitted by the fast instruction selector as opposed to the normal >> mechanism. >> >> In fast instruction selector can always report that it cannot emit instructions >> for some construct and then that part falls on the normal mechanism; though >> in some cases the actual machine instructions emitted would be the same. >> >> So I want to be able to look for some kind of tag in the make check tests. >> >> Tia. >> >> Reed >> _______________________________________________ >> LLVM Developers mailing list >> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu >> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
I tried out CommentFlag and it looks ideal for this purpose. The attached patch adds a FastISel flag and prints it in the AsmPrinter and the IR dump. You can then call MachineInstr::setAsmPrinterFlag(MachineInstr::FastISel) to set the flag. Some passes seem to be stripping the comment flags though. The one I noticed is the pseudo-instruction expansion pass: # *** IR Dump After Machine Copy Propagation Pass ***: # Machine code for function retfloat: Post SSA BB#0: derived from LLVM BB %entry RetRA; comment-flags: FastISel # End machine code for function retfloat. # *** IR Dump After Post-RA pseudo instruction expansion pass ***: # Machine code for function retfloat: Post SSA BB#0: derived from LLVM BB %entry RET %RA # End machine code for function retfloat.> -----Original Message----- > From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] > On Behalf Of Reed Kotler > Sent: 17 April 2014 16:30 > To: LLVMdev at cs.uiuc.edu > Subject: Re: [LLVMdev] adding comment > > Maybe adding it to CommentFlag would be slightly better. > > On 04/17/2014 02:23 AM, Daniel Sanders wrote: > > Would adding a flag to MachineInstr::MIFlag do the trick? I'm thinking that > fast isel could ensure that a flag (e.g. MIFlag::FastISel) is added to the > instructions it creates, then the instruction printer could optionally emit a > comment for instructions that have this flag. > > > >> -----Original Message----- > >> From: llvmdev-bounces at cs.uiuc.edu > >> [mailto:llvmdev-bounces at cs.uiuc.edu] > >> On Behalf Of Reed Kotler > >> Sent: 16 April 2014 22:17 > >> To: LLVMdev at cs.uiuc.edu > >> Subject: Re: [LLVMdev] adding comment > >> > >> On 04/16/2014 02:06 PM, reed kotler wrote: > >>> Is there a simple way to add a comment in the machine instructions > >>> of a basic block? > >>> > >>> Ideally something that can be used with machine instruction builder. > >>> > >>> Tia. > >>> > >>> Reed > >> > >> In this case, I am working on the fast instruction selector for mips. > >> > >> I want to be able to tag instructions or regions of instructions that > >> are emitted by the fast instruction selector as opposed to the normal > >> mechanism. > >> > >> In fast instruction selector can always report that it cannot emit > >> instructions for some construct and then that part falls on the > >> normal mechanism; though in some cases the actual machine instructions > emitted would be the same. > >> > >> So I want to be able to look for some kind of tag in the make check tests. > >> > >> Tia. > >> > >> Reed > >> _______________________________________________ > >> 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 -------------- A non-text attachment was scrubbed... Name: comment-flags.patch Type: application/octet-stream Size: 1653 bytes Desc: comment-flags.patch URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140422/43ad2682/attachment.obj>