diff options
author | David S. Miller <davem@redhat.com> | 2002-05-03 18:04:18 -0700 |
---|---|---|
committer | David S. Miller <davem@gcc.gnu.org> | 2002-05-03 18:04:18 -0700 |
commit | 14d118d655d94f68919a565f16d4e695c2ce7c79 (patch) | |
tree | 7fff67a8524bdecd9338c0ad4770aad1d1b83caa | |
parent | 14c9397896cb3988424758497266a142c3cc4f6e (diff) | |
download | gcc-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
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/ia64/ia64.c | 21 |
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; } |