[LLVMdev] TableGen docs

Aaron Ballman aaron at aaronballman.com
Tue Mar 18 05:54:11 PDT 2014


On Tue, Mar 18, 2014 at 8:46 AM, Renato Golin <renato.golin at linaro.org> wrote:
> Hi folks,
>
> It took a while, but I finally have some bandwidth to look at this.
>
> I've been reading the two existing TableGen documents:
>
> http://llvm.org/docs/TableGenFundamentals.html
> http://llvm.org/docs/TableGen/LangRef.html
>
> the first is linked from the index, but LangRef is not (though it has
> some remains in the metadata). I'm wondering what's the relationship
> between them two.
>
> My plan is to have three docs:
>
> 1. What is TableGen; No info about language, back-ends but just a
> rough idea on when it's used (build-time), why it's used (meta-code),
> where (a list of back-ends with a simple description) and which
> additional cases could be covered by the current implementation.
>
> 2. TableGen back-ends; a list of all back-ends in use today, what are
> their purposes, why they differ and some inner secrets of their
> implementation. This page could also have a tutorial on how to create
> a new back-end, though this could be in a separate doc.
>
> 3. TableGen's language reference; Similar to most of fundamentals' and
> LangRef's contents, only focusing on syntax.
>
> Aditional pages:
>
> * Deficiencies and plans to overcome them
> * How to create a new back-end
>
> All pages should be inside the TableGen directory with its own index.
>
> I'll create the docs but won't link them from the main index, so that
> if I get it completely wrong, people won't get the wrong idea. Once
> it's better than the original, we can switch and continue.
>
> Does that sound like a good plan?

Would it also make sense to include the clang usages of tablegen
somewhere in #1, and then perhaps have #2.5 about clang usages (not
volunteering you for that work btw)? Diagnostics and attributes make
heavy use of tablegen in clang, for instance.

~Aaron



More information about the llvm-dev mailing list