[llvm-commits] Enable early dup for small bb, take2

Rafael Ávila de Espíndola rafael.espindola at gmail.com
Wed Jun 15 09:24:06 PDT 2011


> A priori, the register allocator should be able to do a better job with
> early tail dup. A variable that is live-in to a tail must be in the same
> register out of the predecessors, but that constraint disappears with
> tail-dup.
>
> I don't know if it matters in practice.
>
> But otherwise, both register allocators make many arbitrary decisions
> based on virtual register numbers and block layout, so you will never
> get identical results with early and late tail-dup.

Exactly, the results are not the same, just are bb that the paths decide 
to dup. With the early dup handling the small bb (size 2), the late one 
will only duplicate the ones that intermediary passes are able to 
simplify further.

In any case, now that branch folding is fixed, I will run the tests 
again tonight and we can discuss this over new data.

> /jakob
>

Cheers,
Rafael



More information about the llvm-commits mailing list