aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorDavid S. Miller <davem@redhat.com>2002-05-03 18:04:18 -0700
committerDavid S. Miller <davem@gcc.gnu.org>2002-05-03 18:04:18 -0700
commit14d118d655d94f68919a565f16d4e695c2ce7c79 (patch)
tree7fff67a8524bdecd9338c0ad4770aad1d1b83caa /gcc
parent14c9397896cb3988424758497266a142c3cc4f6e (diff)
downloadgcc-14d118d655d94f68919a565f16d4e695c2ce7c79.zip
gcc-14d118d655d94f68919a565f16d4e695c2ce7c79.tar.gz
gcc-14d118d655d94f68919a565f16d4e695c2ce7c79.tar.bz2
ia64.c (ia64_emit_insn_before): Put it back.
2002-05-03 David S. Miller <davem@redhat.com> * config/ia64/ia64.c (ia64_emit_insn_before): Put it back. (rtx_needs_barrier): Delete reference to cycle_display unspec. (ia64_sched_reorder2): Mention need for cycle display handling once such notes exist. From-SVN: r53139
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/ia64/ia64.c21
2 files changed, 22 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index ebd25b4..ee8baf7 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -3,6 +3,11 @@
* target-defs.h (TARGET_SCHED_CYCLE_DISPLAY): Delete.
* target.h (struct gcc_target): Delete cycle_display member.
+ * config/ia64/ia64.c (ia64_emit_insn_before): Put it back.
+ (rtx_needs_barrier): Delete reference to cycle_display unspec.
+ (ia64_sched_reorder2): Mention need for cycle display handling
+ once such notes exist.
+
2002-05-03 Richard Henderson <rth@redhat.com>
* real.c (etoasc): Strip most trailing zeros for clarity.
diff --git a/gcc/config/ia64/ia64.c b/gcc/config/ia64/ia64.c
index 1e7c0ca..0520db4 100644
--- a/gcc/config/ia64/ia64.c
+++ b/gcc/config/ia64/ia64.c
@@ -4602,7 +4602,6 @@ rtx_needs_barrier (x, flags, pred)
case 20: /* mov = ar.bsp */
case 21: /* flushrs */
case 22: /* bundle selector */
- case 23: /* cycle display */
break;
case 24: /* addp4 */
@@ -5159,6 +5158,7 @@ int ia64_final_schedule = 0;
static int itanium_split_issue PARAMS ((const struct ia64_packet *, int));
static rtx ia64_single_set PARAMS ((rtx));
static int insn_matches_slot PARAMS ((const struct ia64_packet *, enum attr_type, int, rtx));
+static void ia64_emit_insn_before PARAMS ((rtx, rtx));
static void maybe_rotate PARAMS ((FILE *));
static void finish_last_head PARAMS ((FILE *, int));
static void rotate_one_bundle PARAMS ((FILE *));
@@ -5481,6 +5481,16 @@ insn_matches_slot (p, itype, slot, insn)
return 0;
}
+/* Like emit_insn_before, but skip cycle_display notes.
+ ??? When cycle display notes are implemented, update this. */
+
+static void
+ia64_emit_insn_before (insn, before)
+ rtx insn, before;
+{
+ emit_insn_before (insn, before);
+}
+
/* When rotating a bundle out of the issue window, insert a bundle selector
insn in front of it. DUMP is the scheduling dump file or NULL. START
is either 0 or 3, depending on whether we want to emit a bundle selector
@@ -5512,7 +5522,7 @@ finish_last_head (dump, start)
fprintf (dump, "// Emitting template before %d: %s\n",
INSN_UID (insn), b->name);
- emit_insn_before (gen_bundle_selector (GEN_INT (bundle_type)), insn);
+ ia64_emit_insn_before (gen_bundle_selector (GEN_INT (bundle_type)), insn);
}
/* We can't schedule more insns this cycle. Fix up the scheduling state
@@ -6372,7 +6382,10 @@ ia64_sched_reorder2 (dump, sched_verbose, ready, pn_ready, clock_var)
abort ();
insn_code = recog_memoized (stop);
- /* Ignore .pred.rel.mutex. */
+ /* Ignore .pred.rel.mutex.
+
+ ??? Update this to ignore cycle display notes too
+ ??? once those are implemented */
if (insn_code == CODE_FOR_pred_rel_mutex
|| insn_code == CODE_FOR_prologue_use)
continue;
@@ -6470,7 +6483,7 @@ ia64_variable_issue (dump, sched_verbose, insn, can_issue_more)
int t = sched_data.first_slot;
if (t == 0)
t = 3;
- emit_insn_before (gen_insn_group_barrier (GEN_INT (t)), insn);
+ ia64_emit_insn_before (gen_insn_group_barrier (GEN_INT (t)), insn);
init_insn_group_barriers ();
sched_data.last_was_stop = 0;
}