diff options
author | vmakarov <vmakarov@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-08-30 20:44:51 +0000 |
---|---|---|
committer | vmakarov <vmakarov@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-08-30 20:44:51 +0000 |
commit | 17c7a04d1c73b837492a822490fa59ee17db094f (patch) | |
tree | 9cc1dc4a63e4c3af0ab3e68c017e773ea05dec6f /gcc/sched-rgn.c | |
parent | e025bbe7bf73c4adaa7edeec9158db8f8438295f (diff) | |
download | gcc-17c7a04d1c73b837492a822490fa59ee17db094f.tar.gz |
2001-08-30 Vladimir Makarov <vmakarov@redhat.com>
* rtl.def: Undo my patch commited 2001-08-27.
* genattrtab.c: Ditto.
* rtl.h: Ditto.
* sched-int.h: Ditto.
* target-def.h: Ditto.
* target.h: Ditto.
* haifa-sched.c: Ditto.
* sched-rgn.c: Ditto.
* sched-vis.c: Ditto.
* Makefile.in: Ditto.
* doc/md.texi: Ditto.
* doc/tm.texi: Ditto.
* doc/contrib.texi: Ditto.
* doc/gcc.texi: Ditto.
* genattrtab.h: Remove it.
* genautomata.c: Remove it.
* genattr.c: Undo my patch and Richard Henderson's patch commited
2001-08-27.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45297 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/sched-rgn.c')
-rw-r--r-- | gcc/sched-rgn.c | 94 |
1 files changed, 23 insertions, 71 deletions
diff --git a/gcc/sched-rgn.c b/gcc/sched-rgn.c index d5310f3f794..e0a2a63e338 100644 --- a/gcc/sched-rgn.c +++ b/gcc/sched-rgn.c @@ -61,7 +61,6 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA #include "toplev.h" #include "recog.h" #include "sched-int.h" -#include "target.h" #ifdef INSN_SCHEDULING /* Some accessor macros for h_i_d members only used within this file. */ @@ -2143,13 +2142,7 @@ init_ready_list (ready) if (!CANT_MOVE (insn) && (!IS_SPECULATIVE_INSN (insn) - || ((0 - || (targetm.sched.use_dfa_pipeline_interface - && recog_memoized (insn) >= 0 - && min_insn_conflict_delay (curr_state, insn, - insn) <= 3) - || (!targetm.sched.use_dfa_pipeline_interface - && insn_issue_delay (insn) <= 3)) + || (insn_issue_delay (insn) <= 3 && check_live (insn, bb_src) && is_exception_free (insn, bb_src, target_bb)))) { @@ -2257,13 +2250,7 @@ new_ready (next) && (!IS_VALID (INSN_BB (next)) || CANT_MOVE (next) || (IS_SPECULATIVE_INSN (next) - && (0 - || (targetm.sched.use_dfa_pipeline_interface - && (recog_memoized (next) < 0 - || min_insn_conflict_delay (curr_state, next, - next) > 3)) - || (!targetm.sched.use_dfa_pipeline_interface - && insn_issue_delay (next) > 3) + && (insn_issue_delay (next) > 3 || !check_live (next, INSN_BB (next)) || !is_exception_free (next, INSN_BB (next), target_bb))))) return 0; @@ -2655,26 +2642,14 @@ debug_dependencies () fprintf (sched_dump, "\n;; --- Region Dependences --- b %d bb %d \n", BB_TO_BLOCK (bb), bb); - if (targetm.sched.use_dfa_pipeline_interface) - { - fprintf (sched_dump, ";; %7s%6s%6s%6s%6s%6s%14s\n", - "insn", "code", "bb", "dep", "prio", "cost", - "reservation"); - fprintf (sched_dump, ";; %7s%6s%6s%6s%6s%6s%14s\n", - "----", "----", "--", "---", "----", "----", - "-----------"); - } - else - { - fprintf (sched_dump, ";; %7s%6s%6s%6s%6s%6s%11s%6s\n", - "insn", "code", "bb", "dep", "prio", "cost", "blockage", "units"); - fprintf (sched_dump, ";; %7s%6s%6s%6s%6s%6s%11s%6s\n", - "----", "----", "--", "---", "----", "----", "--------", "-----"); - } - + fprintf (sched_dump, ";; %7s%6s%6s%6s%6s%6s%11s%6s\n", + "insn", "code", "bb", "dep", "prio", "cost", "blockage", "units"); + fprintf (sched_dump, ";; %7s%6s%6s%6s%6s%6s%11s%6s\n", + "----", "----", "--", "---", "----", "----", "--------", "-----"); for (insn = head; insn != next_tail; insn = NEXT_INSN (insn)) { rtx link; + int unit, range; if (! INSN_P (insn)) { @@ -2694,45 +2669,22 @@ debug_dependencies () continue; } - if (targetm.sched.use_dfa_pipeline_interface) - { - fprintf (sched_dump, - ";; %s%5d%6d%6d%6d%6d%6d ", - (SCHED_GROUP_P (insn) ? "+" : " "), - INSN_UID (insn), - INSN_CODE (insn), - INSN_BB (insn), - INSN_DEP_COUNT (insn), - INSN_PRIORITY (insn), - insn_cost (insn, 0, 0)); - - if (recog_memoized (insn) < 0) - fprintf (sched_dump, "nothing"); - else - print_reservation (sched_dump, insn); - } - else - { - int unit = insn_unit (insn); - int range - = (unit < 0 - || function_units[unit].blockage_range_function == 0 - ? 0 - : function_units[unit].blockage_range_function (insn)); - fprintf (sched_dump, - ";; %s%5d%6d%6d%6d%6d%6d %3d -%3d ", - (SCHED_GROUP_P (insn) ? "+" : " "), - INSN_UID (insn), - INSN_CODE (insn), - INSN_BB (insn), - INSN_DEP_COUNT (insn), - INSN_PRIORITY (insn), - insn_cost (insn, 0, 0), - (int) MIN_BLOCKAGE_COST (range), - (int) MAX_BLOCKAGE_COST (range)); - insn_print_units (insn); - } - + unit = insn_unit (insn); + range = (unit < 0 + || function_units[unit].blockage_range_function == 0) ? 0 : + function_units[unit].blockage_range_function (insn); + fprintf (sched_dump, + ";; %s%5d%6d%6d%6d%6d%6d %3d -%3d ", + (SCHED_GROUP_P (insn) ? "+" : " "), + INSN_UID (insn), + INSN_CODE (insn), + INSN_BB (insn), + INSN_DEP_COUNT (insn), + INSN_PRIORITY (insn), + insn_cost (insn, 0, 0), + (int) MIN_BLOCKAGE_COST (range), + (int) MAX_BLOCKAGE_COST (range)); + insn_print_units (insn); fprintf (sched_dump, "\t: "); for (link = INSN_DEPEND (insn); link; link = XEXP (link, 1)) fprintf (sched_dump, "%d ", INSN_UID (XEXP (link, 0))); |