[LLVMdev] Enhancing TableGen

David A. Greene greened at obbligato.org
Fri Oct 7 12:03:53 PDT 2011

Evan Cheng <evan.cheng at apple.com> writes:

> On Oct 7, 2011, at 11:23 AM, David A. Greene wrote:
>> Evan Cheng <evan.cheng at apple.com> writes:
>>> David, we cannot accept the 'multidef' keyword. Please revert it.
>> Working on it now.
> Thanks.

No problem.  I agree that multidef was sort of a half-baked idea.  I did
it for practical purposes here but Che-Liang developed a much better,
mroe general solution to the problem.

>> How about a less massive and complicated scheme?  I think we can
>> make some good improvements to the current spec that will help
>> with the MIC work.
> I'd like to defer MIC work until it's finalized. But yes, incremental
> refinement is always welcome.

Ok.  I'd like to do some of this incremental work to prepare for MIC.  I
will do this in small batches and please do keep telling me when I'm
heading off track.  :)

>> Frankly, the way things are with the x86 SIMD stuff is not scalable.
>> I'd like to clean some of that up, in an incremental way, of course.
> It's not like we are against improvements that make td files
> better. But there is fine balance we should strive for. Readability,
> maintainability, and ease of debugging are very important.

Absolutely.  I don't think I've ever claimed that what I did for AVX
here should go whole hog into upstream.  I certainly never had that view
in my head.  On the contrary, I learned a lot doing it and know all the
mistakes and skeletons quite well.  :)

I'd would like to use that experience to inform how we might structure
the x86 specification a bit better to make maintenance, readability and
debuggability better.

I plan to continue to work on a non-preprocessor for loop because I see
immediate value to it, it is much clearer that what I have currently and
it allows incremental improvements to existing code.

My overarching goal is to get our trees in sync before heavy-duty AVX2
or MIC work begins.


More information about the llvm-dev mailing list