[llvm-commits] [PATCH] MCAssembler Performance: Lazy invalidation

Rafael Ávila de Espíndola rafael.espindola at gmail.com
Tue Dec 14 12:12:57 PST 2010


On 10-12-14 11:02 AM, David Meyer wrote:
> New patch attached, which respects the fact that sections have been
> decoupled.
>
> I've also attached contrived.s, which assembles in 0.284 seconds with
> gas, but takes hours with llvm-mc.
>
> It is true that this patch causes code quality to reduce
> ever-so-slightly, because we might not benefit from labels compressing
> due to aligns shrinking after relaxation. But that hardly seems worth
> the sacrifice in CPU time.

Looks like this just makes PR8467 a bit more likely, no? That can/should 
probably be fixed differently, so I don't think it it is a big problem.

> This patch causes one test fail (test/MC/MachO/relax-recompute-align.s),
> which needs to be altered.
>
>
>     Other ideas I had but didn't implement:
>
>
>     *) Have a working list of fragments that might need to be relaxed,
>     that way you don't revisit every fragment on every pass.
>
>
> I've implemented this. Would you like a patch?

I have it too. Would you mind including the update to 
test/MC/MachO/relax-recompute-align.s in this patch?

What I would propose is:

*) Give the other guys till the end of today to say if they have 
anything against updating test/MC/MachO/relax-recompute-align.s.

*) Can you try your patch in the .s testcase in PR8711?

*) If this patch gives you a nice speed up in the attached test and 
doesn't slow down the one in 8711, commit it.

*) I will try the "relax align" on top of it and commit if it still 
looks like an improvement.

Sounds good?

> Thanks,
> - David Meyer

Cheers,
Rafael



More information about the llvm-commits mailing list