re PR middle-end/16089 (unwind-dw2.c:1311: error: insn outside basic block)
authorAndrew Pinski <pinskia@physics.uc.edu>
Sun, 20 Jun 2004 17:03:04 +0000 (17:03 +0000)
committerAndrew Pinski <pinskia@gcc.gnu.org>
Sun, 20 Jun 2004 17:03:04 +0000 (10:03 -0700)
2004-06-20  Andrew Pinski  <pinskia@physics.uc.edu>

        PR middle-end/16089
        * builtins.c (entry_of_function): Move to ...
        * cfgrtl.c (entry_of_function): Here and make non-static.
        * integrate.c (emit_initial_value_sets): Use entry_of_function.
        * rtl.h (entry_of_function): Prototype.

From-SVN: r83415

gcc/ChangeLog
gcc/builtins.c
gcc/cfgrtl.c
gcc/integrate.c
gcc/rtl.h

index e1bda73..744f396 100644 (file)
@@ -1,3 +1,11 @@
+2004-06-20  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR middle-end/16089
+       * builtins.c (entry_of_function): Move to ...
+       * cfgrtl.c (entry_of_function): Here and make non-static.
+       * integrate.c (emit_initial_value_sets): Use entry_of_function.
+       * rtl.h (entry_of_function): Prototype.
+
 2004-06-20  Roger Sayle  <roger@eyesopen.com>
 
        * config/i386/i386.c (pentium4_cost): Increase "lea" cost from 1 to 3.
index 0959b1f..92a4dc3 100644 (file)
@@ -1206,13 +1206,6 @@ expand_builtin_apply_args_1 (void)
   return copy_addr_to_reg (XEXP (registers, 0));
 }
 
-/* Return RTX to emit after when we want to emit code on the entry of function.  */
-static rtx
-entry_of_function (void)
-{
-  return (n_basic_blocks ? BB_HEAD (ENTRY_BLOCK_PTR->next_bb) : get_insns ());
-}
-
 /* __builtin_apply_args returns block of memory allocated on
    the stack into which is stored the arg pointer, structure
    value address, static chain, and all the registers that might
index 6e22d80..8ef48d0 100644 (file)
@@ -440,6 +440,13 @@ free_bb_for_insn (void)
       BLOCK_FOR_INSN (insn) = NULL;
 }
 
+/* Return RTX to emit after when we want to emit code on the entry of function.  */
+rtx
+entry_of_function (void)
+{
+  return (n_basic_blocks ? BB_HEAD (ENTRY_BLOCK_PTR->next_bb) : get_insns ());
+}
+
 /* Update insns block within BB.  */
 
 void
index df2c823..c5befd5 100644 (file)
@@ -1300,7 +1300,7 @@ emit_initial_value_sets (void)
   seq = get_insns ();
   end_sequence ();
 
-  emit_insn_after (seq, get_insns ());
+  emit_insn_after (seq, entry_of_function ());
 }
 
 /* If the backend knows where to allocate pseudos for hard
index 34de872..333c95d 100644 (file)
--- a/gcc/rtl.h
+++ b/gcc/rtl.h
@@ -2199,6 +2199,7 @@ void restore_line_number_status (int old_value);
 extern void renumber_insns (FILE *);
 extern void remove_unnecessary_notes (void);
 extern rtx delete_insn (rtx);
+extern rtx entry_of_function (void);
 extern void delete_insn_chain (rtx, rtx);
 extern rtx unlink_insn_chain (rtx, rtx);
 extern rtx delete_insn_and_edges (rtx);