summaryrefslogtreecommitdiff
path: root/gcc/reorg.c
diff options
context:
space:
mode:
authordberlin <dberlin@138bc75d-0d04-0410-961f-82ee72b054a4>2007-06-11 18:02:15 +0000
committerdberlin <dberlin@138bc75d-0d04-0410-961f-82ee72b054a4>2007-06-11 18:02:15 +0000
commit3072d30e7983a3ca5ad030f1f98a5c39bcc2c07b (patch)
treefdb9e9f8a0700a2713dc690fed1a2cf20dae8392 /gcc/reorg.c
parent8ceb1bfd33bc40bf0cbe1fab8903c2c31efd10ee (diff)
downloadgcc-3072d30e7983a3ca5ad030f1f98a5c39bcc2c07b.tar.gz
Merge dataflow branch into mainline
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@125624 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/reorg.c')
-rw-r--r--gcc/reorg.c20
1 files changed, 11 insertions, 9 deletions
diff --git a/gcc/reorg.c b/gcc/reorg.c
index bdf2c313b51..dcdcfd74e9d 100644
--- a/gcc/reorg.c
+++ b/gcc/reorg.c
@@ -1,6 +1,7 @@
/* Perform instruction reorganizations for delay slot filling.
- Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998,
- 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+ Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
+ 2001, 2002, 2003, 2004, 2005, 2006, 2007
+ Free Software Foundation, Inc.
Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu).
Hacked by Michael Tiemann (tiemann@cygnus.com).
@@ -211,7 +212,8 @@ static void update_reg_dead_notes (rtx, rtx);
static void fix_reg_dead_note (rtx, rtx);
static void update_reg_unused_notes (rtx, rtx);
static void fill_simple_delay_slots (int);
-static rtx fill_slots_from_thread (rtx, rtx, rtx, rtx, int, int, int, int,
+static rtx fill_slots_from_thread (rtx, rtx, rtx, rtx,
+ int, int, int, int,
int *, rtx);
static void fill_eager_delay_slots (void);
static void relax_delay_slots (rtx);
@@ -638,7 +640,7 @@ delete_from_delay_slot (rtx insn)
prev = PREV_INSN (seq_insn);
trial = XVECEXP (seq, 0, 0);
delete_related_insns (seq_insn);
- add_insn_after (trial, prev);
+ add_insn_after (trial, prev, NULL);
/* If there was a barrier after the old SEQUENCE, remit it. */
if (had_barrier)
@@ -3440,7 +3442,7 @@ relax_delay_slots (rtx first)
for (i = 0; i < XVECLEN (pat, 0); i++)
{
rtx this_insn = XVECEXP (pat, 0, i);
- add_insn_after (this_insn, after);
+ add_insn_after (this_insn, after, NULL);
after = this_insn;
}
delete_scheduled_jump (delay_insn);
@@ -3558,7 +3560,7 @@ relax_delay_slots (rtx first)
for (i = 0; i < XVECLEN (pat, 0); i++)
{
rtx this_insn = XVECEXP (pat, 0, i);
- add_insn_after (this_insn, after);
+ add_insn_after (this_insn, after, NULL);
after = this_insn;
}
delete_scheduled_jump (delay_insn);
@@ -4011,6 +4013,7 @@ dbr_schedule (rtx first)
link = XEXP (link, 1))
INSN_LOCATOR (XEXP (link, 0)) = 0;
}
+
#endif
}
#endif /* DELAY_SLOTS */
@@ -4020,7 +4023,7 @@ gate_handle_delay_slots (void)
{
#ifdef DELAY_SLOTS
return flag_delayed_branch;
-#else
+#else
return 0;
#endif
}
@@ -4033,7 +4036,7 @@ rest_of_handle_delay_slots (void)
dbr_schedule (get_insns ());
#endif
return 0;
-}
+}
struct tree_opt_pass pass_delay_slots =
{
@@ -4085,4 +4088,3 @@ struct tree_opt_pass pass_machine_reorg =
TODO_ggc_collect, /* todo_flags_finish */
'M' /* letter */
};
-