This is the mail archive of the gcc@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: Register Allocation


John Lu wrote:

Hi,

I've been working on a port based on gcc-3.3 and I've noticed that
better assembly code is generated if the C source has
separate variables declared for distinct live ranges.



Pesudo-register renaming is made by -fweb. It was written by Jan Hubicka. Probably, this option should be set up by default (although there is no practically improvement for SPECInt2000 for P4, some tests are really faster). Another positive thing of usage this option is better scheduling because of less anti-dependences.

Different live ranges of a varaible sometimes has less conflicts and never more. Therefore there is more probablility that varaible values will be in registers. New ra works on webs (it is definitions and usages of pseudo-register which can have different names). So it should work for new ra too. But there are a lot factors which could prevent generates a better code.

Vlad






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