[llvm-commits] [PATCH] TableGen backend support to express relations between instruction

Jyotsna Verma jverma at codeaurora.org
Thu Oct 11 10:43:24 PDT 2012


Sure, I can put it in a new .rst file. However, I don't see why a link in
WritingAnLLVMBackend.html is more desirable over a complete description of
the feature. 

Thanks,
Jyotsna

--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by
The Linux Foundation


> -----Original Message-----
> From: Sean Silva [mailto:silvas at purdue.edu]
> Sent: Thursday, October 11, 2012 11:59 AM
> To: Jyotsna Verma
> Cc: Jakob Stoklund Olesen; llvm-commits at cs.uiuc.edu
> Subject: Re: [llvm-commits] [PATCH] TableGen backend support to express
> relations between instruction
> 
> Hi Jyotsna, could you please break the documentation out into a separate
.rst
> file (and link to it from WritingAnLLVMBackend.html).
> Also, could you please take another look at my previous suggestion:
> 
> >> >> I briefly looked at your documentation patch and it looks like it
> >> >> would be more useful/natural to make it more of a "howto". So my
> >> >> suggestion is to break out the documentation you added to
> >> >> WritingAnLLVMBackend.html and make a new document
> >> >> HowToUseInstructionMappings.rst (or whatever name you think is
> >> >> most
> >> >> appropriate) and then later we can link to it from
> >> >> WritingAnLLVMBackend.html. To get started, you can just copy
> >> >> HowToBuildOnARM.rst or HowToAddABuilder.rst and use it as a
> >> >> template for your work.
> 
> I have attached a prototype Sphinx quickstart template which you can use
to
> base the new documentation. Just copy the file to
> docs/HowToUseInstructionMappings.rst (or whatever name you think is
> most appropriate), and then just write the new documentation and delete
> the old content (which is a mini-Sphinx tutorial) as you make progress.
> 
> Also, I think you may have missed my message where I made some
> suggestions about how to structure the description for this feature.
> Here is the message:
> 
> >> I would also recommend structuring the description differently. I
> >> think
> > you
> >> should first introduce the problem that this solves. I.e., describe
> >> what
> > you
> >> want getPredSense to do eventually (e.g. "we want to be able to call
> >> getPredSense(x) and have it ..."). After that, you should introduce
> >> the
> > ADD*
> >> instructions before you change them so that this mapping is emitted.
> >> Then
> > I
> >> would walk through all of the steps needed in order to generate
> >> getPredSense. So for example the first step would probably be to
> >> decide on a base class name to mark the instructions that participate
> >> in the mapping (e.g. "PredRel" in the current patch).
> 
> Thanks,
> -- Sean Silva
> 
> On Thu, Oct 11, 2012 at 11:35 AM, Jyotsna Verma <jverma at codeaurora.org>
> wrote:
> > Hello Jakob/Sean,
> >
> > Here is the updated patch which addresses your review comments.
> > Please take a look and let me know if you have any other suggestions.
> >
> > Thanks,
> > Jyotsna
> >
> > --
> > Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
> > hosted by The Linux Foundation
> >
> >> -----Original Message-----
> >> From: Sean Silva [mailto:silvas at purdue.edu]
> >> Sent: Monday, October 01, 2012 9:53 PM
> >> To: Jyotsna Verma
> >> Cc: Jakob Stoklund Olesen; llvm-commits at cs.uiuc.edu
> >> Subject: Re: [llvm-commits] [PATCH] TableGen backend support to
> >> express relations between instruction
> >>
> >> Hi Jyotsna, I took a look at the content of the documentation of your
> > patch,
> >> and I think that it is good but there is one thing missing. You need
> >> to
> > describe
> >> what the interface looks like for the generated code.
> >>
> >> I would also recommend structuring the description differently. I
> >> think
> > you
> >> should first introduce the problem that this solves. I.e., describe
> >> what
> > you
> >> want getPredSense to do eventually (e.g. "we want to be able to call
> >> getPredSense(x) and have it ..."). After that, you should introduce
> >> the
> > ADD*
> >> instructions before you change them so that this mapping is emitted.
> >> Then
> > I
> >> would walk through all of the steps needed in order to generate
> >> getPredSense. So for example the first step would probably be to
> >> decide on a base class name to mark the instructions that participate
> >> in the mapping (e.g. "PredRel" in the current patch).
> >>
> >> --Sean Silva
> >>
> >> On Mon, Oct 1, 2012 at 4:14 PM, Jyotsna Verma
> <jverma at codeaurora.org>
> >> wrote:
> >> > Thanks Sean.
> >> >
> >> > I can move the documentation into an .rst file. But personally, I
> >> > think it should be included in the WritingAnLLVMBackend.html file
> >> > too since this is a TableGen feature that people may be interested
> >> > in while adding/improving their backend.
> >> >
> >> > I have never used Sphinx before, so I might run in to some issues.
> >> > I will get in touch with you if that happens.
> >> >
> >> > -Jyotsna
> >> > --
> >> > Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
> >> > hosted by The Linux Foundation
> >> >
> >> >
> >> >> -----Original Message-----
> >> >> From: Sean Silva [mailto:silvas at purdue.edu]
> >> >> Sent: Monday, October 01, 2012 12:31 PM
> >> >> To: Jakob Stoklund Olesen
> >> >> Cc: Jyotsna Verma; llvm-commits at cs.uiuc.edu
> >> >> Subject: Re: [llvm-commits] [PATCH] TableGen backend support to
> >> >> express relations between instruction
> >> >>
> >> >> > Thanks. This feature is quite complicated, I think it is best if
> >> > somebody else
> >> >> reviews the documentation. I want to know if this explanation is
> >> >> understandable by somebody who wasn't involved in the design.
> >> >>
> >> >> I'll take a look at this later today.
> >> >>
> >> >> One idea for Jyotsna though: could you break this out into a
> >> >> separate .rst document, and then link to it?
> >> >>
> >> >> I briefly looked at your documentation patch and it looks like it
> >> >> would be more useful/natural to make it more of a "howto". So my
> >> >> suggestion is to break out the documentation you added to
> >> >> WritingAnLLVMBackend.html and make a new document
> >> >> HowToUseInstructionMappings.rst (or whatever name you think is
> >> >> most
> >> >> appropriate) and then later we can link to it from
> >> >> WritingAnLLVMBackend.html. To get started, you can just copy
> >> >> HowToBuildOnARM.rst or HowToAddABuilder.rst and use it as a
> >> >> template for your work.
> >> >>
> >> >> Let me know if you need any help with the Sphinx docs. Focus first
> >> >> on the content since that is the most important. It's easy to
> >> >> clean up once the content is written.
> >> >>
> >> >> --Sean Silva
> >> >>
> >> >> On Mon, Oct 1, 2012 at 12:39 PM, Jakob Stoklund Olesen
> >> >> <stoklund at 2pi.dk>
> >> >> wrote:
> >> >> >
> >> >> > On Oct 1, 2012, at 8:52 AM, "Jyotsna Verma"
> >> >> > <jverma at codeaurora.org>
> >> >> wrote:
> >> >> >
> >> >> >> Here is the updated patch which includes a new section into
> >> >> >> docs/WritingAnLLVMBackend.html and a high-level description of
> >> >> >> the algorithm in CodeGenMapTable.cpp file.
> >> >> >
> >> >> > Thanks. This feature is quite complicated, I think it is best if
> >> > somebody else
> >> >> reviews the documentation. I want to know if this explanation is
> >> >> understandable by somebody who wasn't involved in the design.
> >> >> >
> >> >> > /jakob
> >> >> >
> >> >> > _______________________________________________
> >> >> > llvm-commits mailing list
> >> >> > llvm-commits at cs.uiuc.edu
> >> >> > http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
> >> >




More information about the llvm-commits mailing list