RFC: SMS problem with emit_copy_of_insn_after copying REG_NOTEs

Jan Hubicka jh@suse.cz
Mon Jan 1 21:56:00 GMT 2007


Hi,
I've commited the following patch that fixes the obvious problem of
calling emit_insn_1 for INSN_LIST argument.  It seems to solve the
problems I can reproduce and it bootstraps x86_64-linux/i686-linux and
Darwin (thanks to andreast).  The patch was preaproved by Ian.  This is
meant as fast fix to avoid bootstrap.  Andrew's optimization still makes
sense as an microoptimization and the nested libcall issue probably
ought to be resolved, but can be dealt with incrementally.

My apologizes for the problems.
Honza

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 120315)
+++ ChangeLog	(working copy)
@@ -1,3 +1,8 @@
+2007-01-01  Jan Hubicka  <jh@suse.cz>
+
+	* emit-rtl.c (emit_copy_of_insn_after): Do not call copy_insn_1 for
+	INSN_LIST.
+
 2007-01-01  Mike Stump  <mrs@apple.com>
 
 	* configure.ac (HAVE_GAS_LITERAL16): Add autoconf check for
Index: emit-rtl.c
===================================================================
--- emit-rtl.c	(revision 120313)
+++ emit-rtl.c	(working copy)
@@ -5302,7 +5302,7 @@ emit_copy_of_insn_after (rtx insn, rtx a
 	else
 	  REG_NOTES (new)
 	       = gen_rtx_INSN_LIST (REG_NOTE_KIND (link),
-		 copy_insn_1 (XEXP (link, 0)),  REG_NOTES (new));
+		 XEXP (link, 0),  REG_NOTES (new));
       }
 
   /* Fix the libcall sequences.  */



More information about the Gcc-patches mailing list