summaryrefslogtreecommitdiff
path: root/gcc/haifa-sched.c
diff options
context:
space:
mode:
authorvmakarov <vmakarov@138bc75d-0d04-0410-961f-82ee72b054a4>2004-02-24 17:28:33 +0000
committervmakarov <vmakarov@138bc75d-0d04-0410-961f-82ee72b054a4>2004-02-24 17:28:33 +0000
commitf77a5bb0ae6038b9f6d1b7dcd6541f8eece3ea89 (patch)
tree3aa01967e3cab5b61a2460c360bbe2508accd84f /gcc/haifa-sched.c
parent3e7f6cce419f02371585642d38a34cff8494eaff (diff)
downloadgcc-f77a5bb0ae6038b9f6d1b7dcd6541f8eece3ea89.tar.gz
2003-02-24 Sanjiv Kumar Gupta <sanjivg@noida.hcltech.com>
* target-def.h (TARGET_SCHED_INIT_GLOBAL, TARGET_SCHED_FINISH_GLOBAL): New macros. * target.h (md_init_global, md_finish_global): Function declarations corresponding to new target macros. * haifa-sched.c (sched_init, sched_finish): Allow target to call the new schedular hooks. * flow.c (recompute_reg_usage): Add PROP_DEATH_NOTES flag in call to update_life_info. * config/sh/sh.h (OVERRIDE_OPTIONS): Re-enable flag_schedule_insns for SH4. * config/sh/sh.c (sh_md_init_global, sh_md_finish_global, find_set_regmode_weight, find_insn_regmode_weight, find_regmode_weight), sh_md_init, sh_dfa_new_cycle, sh_variable_issue, high_pressure, ready_reorder, rank_for_reorder, swap_reorder, sh_reorder, sh_reorder2): New functions used to throttle the insn movement in first scheduling pass for SH. * gcc/doc/tm.texi: Document TARGET_SCHED_INIT_GLOBAL and TARGET_SCHED_FINISH_GLOBAL. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@78374 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/haifa-sched.c')
-rw-r--r--gcc/haifa-sched.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/haifa-sched.c b/gcc/haifa-sched.c
index 5cfce5936cb..496ea2caa2a 100644
--- a/gcc/haifa-sched.c
+++ b/gcc/haifa-sched.c
@@ -2856,6 +2856,9 @@ sched_init (FILE *dump_file)
removing death notes. */
FOR_EACH_BB_REVERSE (b)
find_insn_reg_weight (b->index);
+
+ if (targetm.sched.md_init_global)
+ (*targetm.sched.md_init_global) (sched_dump, sched_verbose, old_max_uid);
}
/* Free global data used during insn scheduling. */
@@ -2875,5 +2878,8 @@ sched_finish (void)
end_alias_analysis ();
if (write_symbols != NO_DEBUG)
free (line_note_head);
+
+ if (targetm.sched.md_finish_global)
+ (*targetm.sched.md_finish_global) (sched_dump, sched_verbose);
}
#endif /* INSN_SCHEDULING */