https://gcc.gnu.org/bugzilla/show_bug.cgi?id=21182

--- Comment #21 from Vladimir Makarov <vmakarov at gcc dot gnu.org> ---
(In reply to Jeffrey A. Law from comment #20)
>
> Anyway, just some thoughts.  We're still not at a point where we really know
> if IRA is being presented with something that isn't actually colorable or if
> IRA is just doing a poor job.

IRA was introduced in GCC4.4.  That time, the numbers were ok.  So I don't
think something is missed in IRA.  It is not a deleted regmove pass (and new
threaded coloring in RA which substituted it) too as it was done for GCC4.9. 
Either it is a different input code to IRA (more aggressive optimizations
before RA) or some big changes in IRA after initial introducing it.  Although I
always checked new RA optimizations on SPEC2000/SPEC2006, this particular code
could be worsened such new changes.

The biggest change (several K lines patch) in IRA in this time span was a new
coloring scheme for irregular register files (an approach analogous to
https://pdfs.semanticscholar.org/1072/2533ba1d88f53ce6635865d5230b9802246f.pdf)
.  As I remember it gave 1% improvement for SPEC2000.  May be it is a culprit.

I any case I don't think i386 is important these days to spent much time on the
PR.

Reply via email to