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] Makes IRA default for some targets


Jeff Law wrote:
Vladimir Makarov wrote:
The patch makes IRA default for targets for which IRA was ported.

2008-08-25 Vladimir Makarov <vmakarov@redhat.com>

* opts.c (decode_options): Set up flag_ira.

* doc/invoke.texi (fira): Document it.
* caller-save.c (save_call_clobbered_regs): Define and use
do_placement_opt_p.

+ bool do_placement_opt_p = 0 /* flag_ira && optimize */;


Is this what you really wanted?  I don't see anywhere else where this
variable is set...

There is a bootstrap failure on x86 (x86_64, ppc, itanium are ok) when the save/restore placement optimization is on. I guess it does not do well with sharing save/restore slots. So I switched it off temporarily on the branch.

I found that this optimization gives no visible improvement on SPEC on x86_64, ppc, itanium (only about 0.05% space saving on SPEC on x86_64). In general, this optimization permits to use saved hard-registers for reload registers. It is not enough to get a visible improvement. I wanted to implement using the hard-registers for pseudos spilled in RA. In this case, I expect a visible improvement. But such thing is not easy to implement and it is definitely will be nor ready for gcc4.4. I decided not to merge the optimization to the trunk.

I am still going to work on save/restore placement optimization and probably make it available for gcc4.5.



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