From 747af5e778fd8703ab7c4c5bbf3cfaacbee6bb7f Mon Sep 17 00:00:00 2001 From: zack Date: Sat, 18 Aug 2001 20:25:54 +0000 Subject: * haifa-sched.c: Convert to target hooks. Macros replaced are ISSUE_RATE, ADJUST_COST, ADJUST_PRIORITY, MD_SCHED_INIT, MD_SCHED_REORDER, MD_SCHED_REORDER2, MD_SCHED_VARIABLE_ISSUE, MD_SCHED_FINISH, and HAVE_cycle_display. * target-def.h (TARGET_SCHED_ADJUST_COST, TARGET_SCHED_ADJUST_PRIORITY, TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_VARIABLE_ISSUE, TARGET_SCHED_INIT, TARGET_SCHED_FINISH, TARGET_SCHED_REORDER, TARGET_SCHED_REORDER2, TARGET_SCHED_CYCLE_DISPLAY): New hook #defines to be overridden. (TARGET_SCHED): Bring them all together. (TARGET_INITIALIZER): Update. * target.h: Don't forward declare struct rtx_def. Use 'rtx' instead of 'struct rtx_def *' throughout. (struct sched): New set of hooks for the scheduler. * Makefile.in (haifa-sched.o): Depend on target.h. * doc/tm.texi: Document the new scheduler hooks, together in their own section, instead of scattered around. Fix a bunch of underfull/overfull hboxes. * a29k.h, alpha.h, arm.h, c4x.h, convex.h, d30v.h, i386.h, ia64.h, m32r.h, m88k.h, mips.h, pa.h, rs6000.h, s390.h, sh.h, sparc.h: Don't define any of the old scheduler macros. * a29k.c, alpha.c, arm.c, c4x.c, convex.c, d30v.c, i386.c, ia64.c, m32r.c, m88k.c, mips.c, pa.c, rs6000.c, s390.c, sh.c, sparc.c: Create hook functions from code extracted from corresponding target header, or make existing hooks static, as appropriate. Set the appropriate entries in targetm. * alpha-protos.h, arm-protos.h, c4x-protos.h, d30v-protos.h, i386-protos.h, ia64-protos.h, m32r-protos.h, pa-protos.h, rs6000-protos.h, s390-protos.h, sparc-protos.h: Remove prototypes for functions which are now static. * d30v.h, d30v.c, m32r.h, m32r.c: Remove #ifdef HAIFA and related gunk; the Haifa scheduler is now the only choice. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45009 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/target-def.h | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'gcc/target-def.h') diff --git a/gcc/target-def.h b/gcc/target-def.h index 94f8d10221c..3282b3ca249 100644 --- a/gcc/target-def.h +++ b/gcc/target-def.h @@ -82,6 +82,28 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. TARGET_ASM_CONSTRUCTOR, \ TARGET_ASM_DESTRUCTOR} +/* Scheduler hooks. All of these default to null pointers, which + haifa-sched.c looks for and handles. */ +#define TARGET_SCHED_ADJUST_COST 0 +#define TARGET_SCHED_ADJUST_PRIORITY 0 +#define TARGET_SCHED_ISSUE_RATE 0 +#define TARGET_SCHED_VARIABLE_ISSUE 0 +#define TARGET_SCHED_INIT 0 +#define TARGET_SCHED_FINISH 0 +#define TARGET_SCHED_REORDER 0 +#define TARGET_SCHED_REORDER2 0 +#define TARGET_SCHED_CYCLE_DISPLAY 0 + +#define TARGET_SCHED {TARGET_SCHED_ADJUST_COST, \ + TARGET_SCHED_ADJUST_PRIORITY, \ + TARGET_SCHED_ISSUE_RATE, \ + TARGET_SCHED_VARIABLE_ISSUE, \ + TARGET_SCHED_INIT, \ + TARGET_SCHED_FINISH, \ + TARGET_SCHED_REORDER, \ + TARGET_SCHED_REORDER2, \ + TARGET_SCHED_CYCLE_DISPLAY} + /* All in tree.c. */ #define TARGET_MERGE_DECL_ATTRIBUTES merge_decl_attributes #define TARGET_MERGE_TYPE_ATTRIBUTES merge_type_attributes @@ -104,6 +126,7 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #define TARGET_INITIALIZER \ { \ TARGET_ASM_OUT, \ + TARGET_SCHED, \ TARGET_MERGE_DECL_ATTRIBUTES, \ TARGET_MERGE_TYPE_ATTRIBUTES, \ TARGET_VALID_DECL_ATTRIBUTE, \ -- cgit v1.2.1