regrename speedup

Eric Botcazou ebotcazou@adacore.com
Thu Oct 22 13:09:00 GMT 2009


>	PR rtl/38582

PR rtl-opt (or PR rtl-optimization).

>	* regrename.c (struct du_head): New structure; some elements moved
>	from...
>	(struct du_chain): ... this one.
>	(open_chains, closed_chains): Now of type struct du_head *.
>	(do_replace): Accept du_head argument, not du_chain.  All callers
>	changed.  Modified code to match new data structures.
>	(build_def_use): Return a list of du_head structures.  Modified code
>	to match new data structures.
>	(dump_def_use_chain): Accept du_head argument, not du_chain.  All
>	callers changed.  Modified code to match new data structures.
>	(merge_overlapping_regs): Accept du_head argument, not du_chain.  All
>	callers changed.  Modified code to match new data structures.
>	(scan_rtx_reg): Change type of this_regno and this_nregs to unsigned.
>	Allocate a du_head structure as well as a du_chain when creating a
>	new chain.  Modified other code to match new data structures.

OK with the trailing spaces removed in

@@ -439,8 +468,8 @@ scan_rtx_reg (rtx insn, rtx *loc, enum r
 
   for (p = &open_chains; *p;)
     {
-      struct du_chain *this_du = *p;
-
+      struct du_head *head = *p;
+      
       /* Check if the chain has been terminated if it has then skip to
 	 the next chain.
 
-- 
Eric Botcazou



More information about the Gcc-patches mailing list