diff options
author | Steven Bosscher <stevenb@suse.de> | 2004-07-06 07:12:32 +0000 |
---|---|---|
committer | Steven Bosscher <steven@gcc.gnu.org> | 2004-07-06 07:12:32 +0000 |
commit | 4404cf7dd98a5e662eb408a5fd6ad125f8814df0 (patch) | |
tree | 9f09734944a4b97cead8f4325a8962c01e9c0452 /gcc | |
parent | 23f99379d3d3d445c15f7a3c2e29e44c06afb255 (diff) | |
download | gcc-4404cf7dd98a5e662eb408a5fd6ad125f8814df0.zip gcc-4404cf7dd98a5e662eb408a5fd6ad125f8814df0.tar.gz gcc-4404cf7dd98a5e662eb408a5fd6ad125f8814df0.tar.bz2 |
mcore.c (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define.
* config/mcore/mcore.c (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE):
Define.
* config/mcore/mcore.md: Model memory latency with a simple DFA
pipeline description instead of a define_function_unit.
From-SVN: r84146
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/mcore/mcore.c | 3 | ||||
-rw-r--r-- | gcc/config/mcore/mcore.md | 14 |
3 files changed, 18 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 878bc56..9255926 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2004-07-06 Steven Bosscher <stevenb@suse.de> + + * config/mcore/mcore.c (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): + Define. + * config/mcore/mcore.md: Model memory latency with a simple DFA + pipeline description instead of a define_function_unit. + 2004-07-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> * langhooks-def.h (LANG_HOOKS_TREE_INLINING_VAR_MOD_TYPE_P): Extra arg. diff --git a/gcc/config/mcore/mcore.c b/gcc/config/mcore/mcore.c index 468b7d1f..97d06d0 100644 --- a/gcc/config/mcore/mcore.c +++ b/gcc/config/mcore/mcore.c @@ -196,6 +196,9 @@ static bool mcore_return_in_memory (tree, tree); #undef TARGET_SETUP_INCOMING_VARARGS #define TARGET_SETUP_INCOMING_VARARGS mcore_setup_incoming_varargs +#undef TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE +#define TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE hook_int_void_1 + struct gcc_target targetm = TARGET_INITIALIZER; /* Adjust the stack and return the number of bytes taken to do it. */ diff --git a/gcc/config/mcore/mcore.md b/gcc/config/mcore/mcore.md index f57da64..32cb71c 100644 --- a/gcc/config/mcore/mcore.md +++ b/gcc/config/mcore/mcore.md @@ -41,15 +41,17 @@ ;; calculations and the literal table placement into the assembler, ;; where their interactions can be managed in a single place. -; All MCORE instructions are two bytes long. +;; All MCORE instructions are two bytes long. (define_attr "length" "" (const_int 2)) -;; (define_function_unit {name} {num-units} {n-users} {test} -;; {ready-delay} {issue-delay} [{conflict-list}]) - - -(define_function_unit "memory" 1 1 (eq_attr "type" "load") 2 0) +;; Scheduling. We only model a simple load latency. +(define_insn_reservation "any_insn" 1 + (eq_attr "type" "!load") + "nothing") +(define_insn_reservation "memory" 2 + (eq_attr "type" "load") + "nothing") ;; ------------------------------------------------------------------------- ;; Test and bit test |