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 e1bda733447616190dd987ed1785c08da276ae0f..744f3967782d58a7bf8a370fb9d9b1e0cbc6449e 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 0959b1f32c8934c157a1195f87e99a43b973b532..92a4dc3b2f7e3f8fc6310e286ae709031d4de2a1 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 6e22d80ac84cfd676ff7faed77b2c38949f7bec2..8ef48d092a1143a717056d5a9ba55ab055b9a229 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 df2c8234ba28e350dfdc3fadc308b48b3be16072..c5befd5cd2ffb960704e06c213be4b3ba8cd0dd0 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 34de8725aa0ea5b69d232dab15795082c3ce5b3a..333c95d507d62ac26ca449a589ad99cbef346b34 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);