[llvm-dev] TableGen enhancements

Simon Pilgrim via llvm-dev llvm-dev at lists.llvm.org
Sun Sep 13 06:59:49 PDT 2020


Hi Paul,

I'm not sure if you're still looking for additional TableGen tasks, but 
something that has been an irritant for years is the performance of 
llvm-tblgen on larger targets (X86 and AMDGPU in particular).

https://bugs.llvm.org/show_bug.cgi?id=28222 and 
https://bugs.llvm.org/show_bug.cgi?id=44628 are perfect examples - if 
you find yourself having to debug a later stage of a -gen-dag-isel run, 
you can find yourself waiting for 10mins+ .....

There's some pretty nasty O(N^2) loops in 
MatcherTableEmitter::EmitMatcherList for instance :-(

Simon.

On 29/08/2020 20:41, Paul C. Anagnostopoulos via llvm-dev wrote:
> Now that I've learned my way around TableGen just a bit, I'd like to solicit
> suggestions for improving and enhancing it.
>
> Perhaps there are some lexical changes that could improve readability of .td
> files (e.g., I'm planning to enhance the lexer to allow an apostrophe as a
> digit group separator in integers, a la C++).
>
> Perhaps there are some syntactic enhancements that would make .td files
> easier to read and write.
>
> Perhaps there are common portions of .td files that can be factored out to
> reduce future duplications, as with Automaton.td and SearchableTable.td.
>
> Perhaps there are common portions of TableGen backends that can be factored
> out to reduce future efforts, resulting in some general-purpose library
> methods.
>
> Perhaps there are new features in TableGen that, coupled with enhanced or
> new C++ files, would open up possibilities for using TableGen in new areas
> of the target-independent code generator.
>
> I don't know how much people have thought about this, but I'm interested in
> any ideas you may have.
>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev


More information about the llvm-dev mailing list