This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: RFB: patch to fix PR37534


Vladimir,

The results look good. There's overall improvement for CPU2K, and some
small one digit degradations here and there for a few INT benchmarks
(some are probably noise).

Facerec is up around 22% for 32-bit and 23% for 64-bit.

32-bit

INT base: -0.12%
INT peak: -0.56%
FP base: 2.08%
FP peak: 1.89%
Overall INT: -0.34%
Overall FP: 1.99%
Overall: 0.82%

64-bit

INT base: -0.49%
INT peak: 0.05%
FP base: 3.46%
FP peak: 1.39%
Overall INT: -0.22%
Overall FP: 2.42%
Overall: 1.09%


Thanks,
Luis

On Mon, 2008-11-10 at 15:25 -0200, Luis Machado wrote:
> Thanks Vladimir. I'll give it a try and will report back.
> 
> Regards,
> Luis
> 
> On Mon, 2008-11-10 at 12:13 -0500, Vladimir Makarov wrote:
> > Hi, Luis.
> > 
> > Could you test the following patch.  It uses another spill heuristic.  
> > Usually spill priority is spill cost divided by # of left conflicts for 
> > the corresponding node in the graph.  Some RA literature mentions 
> > division by #left conflicts in power 2.  The patch uses a heuristic 
> > close to the second one.  I don't know why but instead of 17% 
> > degradation it gives 10% improvement on facerec (for -O2 -mtune=power6).
> > 
> > Actually I tried many things to solve the problem:
> > 
> > o different coalescing algorithms (iterative and optimistic ones)
> > 
> > o usage of union of cover classes for pseudos.  This is one drawback I 
> > see in IRA with comparison with the old RA.  When pseudo is used only 
> > for transferring memory value (r<-m ... m<-r), it can be done through 
> > float or integer registers.  When coloring is not possible for one class 
> > (e.g. integer registers) we could  use another class (e.g. float registers).
> > 
> > o using coloring with different spill heuristics and choosing the best 
> > one (Bernstein's approach)
> > 
> > o different spill heuristics in reload.
> > 
> > But the best result is achieved by this patch which is ironically the 
> > simplest one.
> > 
> > In general the patch does not improve overall SPEC rates on other 
> > platforms.  Because of NP-complete nature of RA, I don't believe that we 
> > can achieve better IRA behaviour on all tests but I think we should 
> > achieve not worse overall SPEC results.
> > 
> > 
> > 
> 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]