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: IRA has been merged into trunk


Joseph S. Myers wrote:
On Tue, 26 Aug 2008, Vladimir Makarov wrote:

 Recently I got an approval of the last part of IRA -- reload
changes.  Therefore I've just merged IRA into mainline.

Thus, we start the 30-day period before removal of the old allocator, as per <http://gcc.gnu.org/ml/gcc-patches/2008-04/msg01812.html>, with the removal due on or shortly after 25 September. Will you volunteer to do the removal of the old allocator, including any functions in other files that are no longer needed once it is removed?


Yes, I could do that and probably it is more easier to do it for me than for anybody else.
We need to warn maintainers of the unconverted targets about this. Could you

(a) provide any pointers to guidance for target maintainers converting their targets, to go in this warning;

The conversion is easy they should only define IRA_COVER_CLASSES in the target machine-dependent file (.h file).

I'd recommend to

o read description of macro IRA_COVER_CLASSES in GCC documentation first
o look at IRA_COVER_CLASSES definitions in the targets with already ported IRA:
x86/x86_64, ppc, itanium, arm, sparc, s390, sh, bfin, spu, avr, alpha, mn10300.


In worst case (I think the worst case will be MIPS targets), there may be several variants of the macro definition. In such cases it is hard to say what variant will be best with the performance point of view without some analysis. Unfortunately, choice of the variants can not be algorithmized, otherwise I'd have rid off the macro. If target maintainers have any questions about IRA_COVER_CLASSES definition, I am ready to help them. I am ready to look at all their target macro definitions.
(b) confirm that the test for whether a target is converted is whether it defines IRA_COVER_CLASSES?

Yes, that is right defining IRA_COVER_CLASSES in the machine-dependent file of the target is enough to switch on IRA for the target and even make IRA as a default RA. The old register allocator can be still used by option -fno-ira.

With that information, I can send an announcement to the gcc list and all the listed maintainers of unconverted targets.

Please also write some release notes for gcc-4.4/changes.html about this new feature (figures for improvements on benchmarks might be useful), and probably an announcement for the main htdocs/index.html page as well.

Ok, I'll do it tomorrow.


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