This is the mail archive of the 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]

[dataflow] make regrename use deferred scanning

The attached patch, which is also pretty tiny, allows us to use deferred rescanning for regrename.

Actually it seems that someone had thought about it already but did not finish the work. Given this, ok to commit? I bootstrapped/regtested this on i686-pc-linux-gnu using "-frename-registers -O2" for all of BOOT_CFLAGS, CFLAGS_FOR_TARGET, and CXXFLAGS_FOR_TARGET.


2007-02-15 Paolo Bonzini <>

        * regrename.c (regrename_optimize): Use deferred insn rescan.
	(do_replace): Do ask dataflow to rescan the insn.

Index: regrename.c
--- regrename.c (revision 121999)
+++ regrename.c (working copy)
@@ -197,7 +197,7 @@ regrename_optimize (void)
   df_set_flags (DF_LR_RUN_DCE);
   df_ri_add_problem (0);
   df_analyze ();
-  df_set_flags (DF_NO_INSN_RESCAN);
+  df_set_flags (DF_DEFER_INSN_RESCAN);

memset (tick, 0, sizeof tick);

@@ -382,9 +382,7 @@ do_replace (struct du_chain *chain, int
       if (regno >= FIRST_PSEUDO_REGISTER)
        ORIGINAL_REGNO (*chain->loc) = regno;
       REG_ATTRS (*chain->loc) = attr;
-#if 0
       df_insn_rescan (chain->insn);
       chain = chain->next_use;

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