summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsteven <steven@138bc75d-0d04-0410-961f-82ee72b054a4>2004-06-07 06:04:14 +0000
committersteven <steven@138bc75d-0d04-0410-961f-82ee72b054a4>2004-06-07 06:04:14 +0000
commitd930bc7c29ee599d4b7d30d630242a077a928b26 (patch)
treedc10c85695f54132e27c5f4be113543c15ac56d8
parent8af0c78dbc14d98dd78975362585f10c202296a6 (diff)
downloadgcc-d930bc7c29ee599d4b7d30d630242a077a928b26.tar.gz
* hooks.c (hook_int_void_1): New generic hook.
* hooks.h (hook_int_void_1): Add prototype. * config/c4x/c4x.c (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1. * config/c4x/c4x.md: Replace dummies for the old pipeline model with dummies for the new one. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@82682 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog9
-rw-r--r--gcc/config/c4x/c4x.c3
-rw-r--r--gcc/config/c4x/c4x.md5
-rw-r--r--gcc/hooks.c7
-rw-r--r--gcc/hooks.h1
5 files changed, 22 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 36663e975e9..7198e8568f0 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,12 @@
+2004-06-06 Steven Bosscher <stevenb@suse.de>
+
+ * hooks.c (hook_int_void_1): New generic hook.
+ * hooks.h (hook_int_void_1): Add prototype.
+ * config/c4x/c4x.c (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE):
+ Define to hook_int_void_1.
+ * config/c4x/c4x.md: Replace dummies for the old pipeline model
+ with dummies for the new one.
+
2004-06-06 Roger Sayle <roger@eyesopen.com>
* tree.h (lvalue_or_else): Delete function prototype.
diff --git a/gcc/config/c4x/c4x.c b/gcc/config/c4x/c4x.c
index 850bcef44b9..ceaa7dfcb98 100644
--- a/gcc/config/c4x/c4x.c
+++ b/gcc/config/c4x/c4x.c
@@ -235,6 +235,9 @@ static rtx c4x_struct_value_rtx (tree, int);
#undef TARGET_SCHED_ADJUST_COST
#define TARGET_SCHED_ADJUST_COST c4x_adjust_cost
+#undef TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE
+#define TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE hook_int_void_1
+
#undef TARGET_ASM_GLOBALIZE_LABEL
#define TARGET_ASM_GLOBALIZE_LABEL c4x_globalize_label
diff --git a/gcc/config/c4x/c4x.md b/gcc/config/c4x/c4x.md
index 1ea954abdd8..3c2d2f86e9a 100644
--- a/gcc/config/c4x/c4x.md
+++ b/gcc/config/c4x/c4x.md
@@ -502,9 +502,8 @@
; Just some dummy definitions. The real work is done in c4x_adjust_cost.
; These are needed so the min/max READY_DELAY is known.
-(define_function_unit "dummy" 1 0 (const_int 0) 1 1)
-(define_function_unit "dummy" 1 0 (const_int 0) 2 1)
-(define_function_unit "dummy" 1 0 (const_int 0) 3 1)
+(define_insn_reservation "any_insn" 1 (const_int 1) "nothing")
+(define_insn_reservation "slowest_insn" 3 (const_int 0) "nothing")
; The attribute setar0 is set to 1 for insns where ar0 is a dst operand.
; Note that the attributes unarycc and binarycc do not apply
diff --git a/gcc/hooks.c b/gcc/hooks.c
index e37d58e9723..1fafe1f12f8 100644
--- a/gcc/hooks.c
+++ b/gcc/hooks.c
@@ -48,6 +48,13 @@ hook_int_void_no_regs (void)
return NO_REGS;
}
+/* Generic hook that returns 1. */
+int
+hook_int_void_1 (void)
+{
+ return 1;
+}
+
/* Generic hook that takes (bool) and returns false. */
bool
hook_bool_bool_false (bool a ATTRIBUTE_UNUSED)
diff --git a/gcc/hooks.h b/gcc/hooks.h
index aab83a81620..fea78c79e87 100644
--- a/gcc/hooks.h
+++ b/gcc/hooks.h
@@ -46,6 +46,7 @@ extern int hook_int_tree_tree_1 (tree, tree);
extern int hook_int_rtx_0 (rtx);
extern int hook_int_size_t_constcharptr_int_0 (size_t, const char *, int);
extern int hook_int_void_no_regs (void);
+extern int hook_int_void_1 (void);
extern unsigned hook_uint_uint_constcharptrptr_0 (unsigned, const char **);