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: [Ping] [patch 0/3] New macro PREFERRED_RENAME_CLASS


> So I think that we cannot sort the chains, at least not so abruptly.  The
> attached patch removes the sort, but in exchange forces the renaming of
> registers that don't belong to the preferred class to registers that do,
> even though they were used recently.  It also adds the missing general
> comment.
>
> Could you give it a whirl on your favorite set of tests and see how it
> fares?

I looked at the assembly generated for the ARM on a (limited) set of testcases 
and this seems to still have the desired effect.

Tested on x86_64-suse-linux, applied on the mainline.


2011-01-02  Eric Botcazou  <ebotcazou@adacore.com>

	* regrename.c: Add general comment describing the pass.
	(struct du_head): Remove 'length' field.
	(get_element, merge_sort_comparison, merge, sort_du_head): Remove.
	(regrename_optimize): Do not sort chains.  Rework comments, add others.
	Force renaming to the preferred class (if any) in the first pass and do
	not consider registers that belong to it in the second pass.
	(create_new_chain): Do not set 'length' field.
	(scan_rtx_reg): Likewise.


-- 
Eric Botcazou


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