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

Sean Silva silvas at purdue.edu
Mon Oct 1 19:53:15 PDT 2012


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