Delete cycle display scheduling hook.
authorDavid S. Miller <davem@redhat.com>
Sat, 4 May 2002 00:31:28 +0000 (17:31 -0700)
committerDavid S. Miller <davem@gcc.gnu.org>
Sat, 4 May 2002 00:31:28 +0000 (17:31 -0700)
2002-05-03  David S. Miller  <davem@redhat.com>

Delete cycle display scheduling hook.
* config/ia64/ia64.c (ia64_cycle_display,
TARGET_SCHED_CYCLE_DISPLAY, ia64_emit_insn_before): Delete.
(ia64_sched_reorder2): Don't check for CODE_FOR_cycle_display
and use emit_insn_before instead of ia64_emit_insn_before.
* config/ia64/ia64.md (unspec usage): Delete cycle display.
(cycle_display): Delete insn pattern.
* config/sparc/sparc.md (unspec usage): Delete cycle display.
(cycle_display): Delete insn pattern.
* config/sparc/sparc.c (sparc_cycle_display,
TARGET_SCHED_CYCLE_DISPLAY): Delete.
* doc/md.texi (cycle_display): Don't mention.
* doc/tm.texi (TARGET_SCHED_CYCLE_DISPLAY): Likewise.

From-SVN: r53134

gcc/ChangeLog
gcc/config/ia64/ia64.c
gcc/config/ia64/ia64.md
gcc/config/sparc/sparc.c
gcc/config/sparc/sparc.md
gcc/doc/md.texi
gcc/doc/tm.texi
gcc/haifa-sched.c

index ea1687fba81f2d469a4e5faf1eadad0d6f358afd..33cb2cc1e5e9553f8e6502c7dd72e36fc6a49611 100644 (file)
@@ -1,3 +1,19 @@
+2002-05-03  David S. Miller  <davem@redhat.com>
+
+       Delete cycle display scheduling hook.
+       * config/ia64/ia64.c (ia64_cycle_display,
+       TARGET_SCHED_CYCLE_DISPLAY, ia64_emit_insn_before): Delete.
+       (ia64_sched_reorder2): Don't check for CODE_FOR_cycle_display
+       and use emit_insn_before instead of ia64_emit_insn_before.
+       * config/ia64/ia64.md (unspec usage): Delete cycle display.
+       (cycle_display): Delete insn pattern.
+       * config/sparc/sparc.md (unspec usage): Delete cycle display.
+       (cycle_display): Delete insn pattern.
+       * config/sparc/sparc.c (sparc_cycle_display,
+       TARGET_SCHED_CYCLE_DISPLAY): Delete.
+       * doc/md.texi (cycle_display): Don't mention.
+       * doc/tm.texi (TARGET_SCHED_CYCLE_DISPLAY): Likewise.
+       
 2002-05-03  Richard Henderson  <rth@redhat.com>
 
        * recog.c (store_data_bypass_p, if_test_bypass_p): New.
index 4dd6229e239269c3e01a79f55f8c5480c4436f8b..1e7c0caedae2315c57810033e4affce8b27878b3 100644 (file)
@@ -152,7 +152,6 @@ static int ia64_internal_sched_reorder PARAMS ((FILE *, int, rtx *,
 static int ia64_sched_reorder PARAMS ((FILE *, int, rtx *, int *, int));
 static int ia64_sched_reorder2 PARAMS ((FILE *, int, rtx *, int *, int));
 static int ia64_variable_issue PARAMS ((FILE *, int, rtx, int));
-static rtx ia64_cycle_display PARAMS ((int, rtx));
 
 \f
 /* Table of valid machine attributes.  */
@@ -211,8 +210,6 @@ static const struct attribute_spec ia64_attribute_table[] =
 #define TARGET_SCHED_REORDER ia64_sched_reorder
 #undef TARGET_SCHED_REORDER2
 #define TARGET_SCHED_REORDER2 ia64_sched_reorder2
-#undef TARGET_SCHED_CYCLE_DISPLAY
-#define TARGET_SCHED_CYCLE_DISPLAY ia64_cycle_display
 
 struct gcc_target targetm = TARGET_INITIALIZER;
 \f
@@ -5162,7 +5159,6 @@ 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 *));
@@ -5485,21 +5481,6 @@ insn_matches_slot (p, itype, slot, insn)
   return 0;
 }
 
-/* Like emit_insn_before, but skip cycle_display insns.  This makes the
-   assembly output a bit prettier.  */
-
-static void
-ia64_emit_insn_before (insn, before)
-     rtx insn, before;
-{
-  rtx prev = PREV_INSN (before);
-  if (prev && GET_CODE (prev) == INSN
-      && GET_CODE (PATTERN (prev)) == UNSPEC
-      && XINT (PATTERN (prev), 1) == 23)
-    before = prev;
-  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
@@ -5531,7 +5512,7 @@ finish_last_head (dump, start)
     fprintf (dump, "//    Emitting template before %d: %s\n",
             INSN_UID (insn), b->name);
 
-  ia64_emit_insn_before (gen_bundle_selector (GEN_INT (bundle_type)), insn);
+  emit_insn_before (gen_bundle_selector (GEN_INT (bundle_type)), insn);
 }
 
 /* We can't schedule more insns this cycle.  Fix up the scheduling state
@@ -6391,9 +6372,8 @@ ia64_sched_reorder2 (dump, sched_verbose, ready, pn_ready, clock_var)
            abort ();
          insn_code = recog_memoized (stop);
 
-         /* Ignore cycle displays and .pred.rel.mutex.  */
-         if (insn_code == CODE_FOR_cycle_display
-             || insn_code == CODE_FOR_pred_rel_mutex
+         /* Ignore .pred.rel.mutex.  */
+         if (insn_code == CODE_FOR_pred_rel_mutex
              || insn_code == CODE_FOR_prologue_use)
            continue;
 
@@ -6490,7 +6470,7 @@ ia64_variable_issue (dump, sched_verbose, insn, can_issue_more)
       int t = sched_data.first_slot;
       if (t == 0)
        t = 3;
-      ia64_emit_insn_before (gen_insn_group_barrier (GEN_INT (t)), insn);
+      emit_insn_before (gen_insn_group_barrier (GEN_INT (t)), insn);
       init_insn_group_barriers ();
       sched_data.last_was_stop = 0;
     }
@@ -6547,17 +6527,6 @@ ia64_sched_finish (dump, sched_verbose)
   free (sched_types);
   free (sched_ready);
 }
-
-static rtx
-ia64_cycle_display (clock, last)
-     int clock;
-     rtx last;
-{
-  if (ia64_final_schedule)
-    return emit_insn_after (gen_cycle_display (GEN_INT (clock)), last);
-  else
-    return last;
-}
 \f
 /* Emit pseudo-ops for the assembler to describe predicate relations.
    At present this assumes that we only consider predicate pairs to
index 006c28b825f2351a544b31b0d9c9abcba84d5764..80bedacbb9bcaf1d807a4a8fbe4c7e18d3728c9c 100644 (file)
@@ -65,7 +65,6 @@
 ;;     20      bsp_value
 ;;     21      flushrs
 ;;     22      bundle selector
-;;     23      cycle display
 ;;      24      addp4
 ;;     25      prologue_use
 ;;
   ""
   [(set_attr "itanium_class" "nop_x")])
 
-(define_insn "cycle_display"
-  [(unspec [(match_operand 0 "const_int_operand" "")] 23)]
-  ""
-  "// cycle %0"
-  [(set_attr "itanium_class" "ignore")
-   (set_attr "predicable" "no")])
-
 (define_insn "bundle_selector"
   [(unspec [(match_operand 0 "const_int_operand" "")] 22)]
   ""
index 3a5053defb113bebdbc6818638c579c35f2bd8a4..b5e618040b03d44a1c24df8976c751d65e323107 100644 (file)
@@ -167,7 +167,6 @@ static int sparc_issue_rate PARAMS ((void));
 static void sparc_sched_init PARAMS ((FILE *, int, int));
 static int sparc_use_dfa_pipeline_interface PARAMS ((void));
 static int sparc_use_sched_lookahead PARAMS ((void));
-static rtx sparc_cycle_display PARAMS ((int, rtx));
 
 static void emit_soft_tfmode_libcall PARAMS ((const char *, int, rtx *));
 static void emit_soft_tfmode_binop PARAMS ((enum rtx_code, rtx *));
@@ -233,8 +232,6 @@ enum processor_type sparc_cpu;
 #define TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE sparc_use_dfa_pipeline_interface
 #undef TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD
 #define TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD sparc_use_sched_lookahead
-#undef TARGET_SCHED_CYCLE_DISPLAY
-#define TARGET_SCHED_CYCLE_DISPLAY sparc_cycle_display
 
 struct gcc_target targetm = TARGET_INITIALIZER;
 \f
@@ -7690,17 +7687,6 @@ sparc_use_sched_lookahead ()
   return 0;
 }
 
-static rtx
-sparc_cycle_display (clock, last)
-     int clock;
-     rtx last;
-{
-  if (reload_completed)
-    return emit_insn_after (gen_cycle_display (GEN_INT (clock)), last);
-  else
-    return last;
-}
-
 static int
 sparc_issue_rate ()
 {
index a5b90fece71fafce43b7b477717380080478bf0d..ed9da8bbefb110c1e2a99a9372ae36b299ddad23 100644 (file)
@@ -44,7 +44,6 @@
 ;;                     16      embmedany_textlo
 ;;                     18      sethm
 ;;                     19      setlo
-;;                     20      cycle_display
 ;;
 ;; UNSPEC_VOLATILE:    0       blockage
 ;;                     1       flush_register_windows
   "TARGET_V9"
   "t%C0\\t%%xcc, %1"
   [(set_attr "type" "misc")])
-
-(define_insn "cycle_display"
-  [(unspec [(match_operand 0 "const_int_operand" "")] 20)]
-  ""
-  "! cycle %0"
-  [(set_attr "length" "0")])
index 6a173521e22af1c4053c9b97f0e3bdc7e442c48b..97b778954cda8cb77da4ad3892527c85838ad734 100644 (file)
@@ -3200,14 +3200,6 @@ respectively, a low or moderate degree of temporal locality.
 Targets that do not support write prefetches or locality hints can ignore
 the values of operands 1 and 2.
 
-@cindex @code{cycle_display} instruction pattern
-@item @samp{cycle_display}
-
-This pattern, if present, will be emitted by the instruction scheduler at
-the beginning of each new clock cycle.  This can be used for annotating the
-assembler output with cycle counts.  Operand 0 is a @code{const_int} that
-holds the clock cycle.
-
 @end table
 
 @node Pattern Ordering
index 722e59c675bf1b0829a849166ac68318194f7764..cd11b991ce8d8a352b2ded52c33c97adffac4fb1 100644 (file)
@@ -5498,14 +5498,6 @@ to.  @var{verbose} is the verbose level provided by
 @option{-fsched-verbose-@var{n}}.
 @end deftypefn
 
-@deftypefn {Target Hook} rtx TARGET_SCHED_CYCLE_DISPLAY (int @var{clock}, rtx @var{last})
-This hook is called in verbose mode only, at the beginning of each pass
-over a basic block.  It should insert an insn into the chain after
-@var{last}, which has no effect, but records the value @var{clock} in
-RTL dumps and assembly output.  Define this hook only if you need this
-level of detail about what the scheduler is doing.
-@end deftypefn
-
 @deftypefn {Target Hook} int TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE (void)
 This hook is called many times during insn scheduling.  If the hook
 returns nonzero, the automaton based pipeline description is used for
index a42165c78130a755cbca6519da036ecf5d58c2a6..e33b857fd2869a857ba1bd0a5218f4bfa727bfe8 100644 (file)
@@ -2019,10 +2019,6 @@ schedule_block (b, rgn_n_insns)
          list.  */
       queue_to_ready (&ready);
 
-      if (sched_verbose && targetm.sched.cycle_display)
-       last_scheduled_insn
-         = (*targetm.sched.cycle_display) (clock_var, last_scheduled_insn);
-
       if (ready.n_ready == 0)
        abort ();