[llvm] r246370 - Refactor the ARM target parsing to use a def file with macros to expand

Renato Golin via llvm-commits llvm-commits at lists.llvm.org
Sun Aug 30 03:35:54 PDT 2015


On 30 August 2015 at 11:22, Chandler Carruth <chandlerc at gmail.com> wrote:
> I don't see any activity to actually address the FIXMEs, and the macro
> generated approach seems substantially better (less repetition, less prone
> to error).

We're in a stabilization period. Once the code behaves as we would
like, I'll start the table-gen-ization, which should be pretty soon.

Addressing the FIXME's is not as simple as you would imagine. Nobody
has access to *all* ARM targets or can try out *all* variations, so
any change has to be small and slow paced. It will take time.


> I'm not even clear what realistic tablegen you are hoping to do here. I
> found it hard to build an efficient parser for this using *any* technique.

Yet another reason to not completely refactor a piece of code you had
no history or knowledge of. If that code offends your taste (I know it
does mine), let's discuss, not derail.


> But arguing that we should keep the code in a bad and hard to maintain state
> because of some hypothetical future design seems... not really a good
> strategy.

There's nothing hypothetical about this. We have discussed
extensively. Search the list, ask Eric, I gave him a good run down of
the plan and I'm really hoping I can address it before 3.8 branches.

An even worse strategy is to unilaterally change a code you don't
understand based on your view of what's good or a guess on other
people's plans.

A better approach would be: "this code is a pile of goo, here are some
ways to fix it, shall I do it?". I'd be very glad for the offer and
would have, then, laid out *my* plan, and I'd welcome any critics so
that it would become *our* plan, and we'd get there faster. But right
now, you have completely broken any hope I had to make that right, for
whatever definition of right. You have moved back every improvement
(for any definition of improvement) we made in the last 6 months.

I don't think there's any justification for that.

--renato


More information about the llvm-commits mailing list