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


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]