[LLVMdev] Greedy register allocation

David A. Greene greened at obbligato.org
Tue May 3 16:13:42 PDT 2011


Jakob Stoklund Olesen <stoklund at 2pi.dk> writes:

>> Believe me, I understand the desire to clean this code up.  What's
>> particular about linearscan in this regard?  What parts are hard to
>> clean up due to linearscan?
>
> The new allocator doesn't use VirtRegRewriter. Deleting that alone
> will improve the average code quality significantly. The worst parts
> of LiveIntervalAnalysis.cpp can also be deleted.

Aha.  Yes, those are particularly nasty bits.  I totally get the desire
to zap 'em.

> Once all that code is gone, it is much easier to refactor the
> LiveIntervals interface.

I grok that too.

I have no problem in general with getting rid of linearscan.  I just
want to make sure we don't have really terrible regressions before doing
so.  A 50% performance hit is a pretty terrible regression.  :)

It's easier for me to time an upgrade on our side if I'm reasonably
certain it's not going to cause a bunch of work fixing such regressions.

Several of us are working really hard on our end to catch up to the
latest LLVM release so we can stay more current than we have been.  I
want to make sure we don't fall behind again.  That benefits everyone
because once we get reasonably close to trunk I can flow patches
upstream much more quickly than I've been able to in the past.

It's easier to stay current when we know we won't get in trouble for
doing so.  :)

                              -Dave



More information about the llvm-dev mailing list