* config/m68k/m68k.c (m68k_sched_branch_type): Remove.
(sched_branch_type): Remove.
(m68k_sched_md_init_global): Don't allocate it.
(m68k_sched_md_finish_global): Don't free it.
* config/m68k/m68k.h (m68k_sched_branch_type): Remove prototype.
* config/m68k/m68k.md: Set the type of insns using m68k_sched_branch_type
to bcc directly.
From-SVN: r187234
+2012-05-07 Steven Bosscher <steven@gcc.gnu.org>
+
+ * config/m68k/m68k.c (m68k_sched_branch_type): Remove.
+ (sched_branch_type): Remove.
+ (m68k_sched_md_init_global): Don't allocate it.
+ (m68k_sched_md_finish_global): Don't free it.
+ * config/m68k/m68k.h (m68k_sched_branch_type): Remove prototype.
+ * config/m68k/m68k.md: Set the type of insns using m68k_sched_branch_type
+ to bcc directly.
+
2012-05-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* config/sol2.c (solaris_override_options): New function.
extern enum attr_opy_type m68k_sched_attr_opy_type (rtx, int);
extern enum attr_size m68k_sched_attr_size (rtx);
extern enum attr_op_mem m68k_sched_attr_op_mem (rtx);
-extern enum attr_type m68k_sched_branch_type (rtx);
#endif /* HAVE_ATTR_cpu */
#endif /* RTX_CODE */
return OP_MEM_I1;
}
-/* Jump instructions types. Indexed by INSN_UID.
- The same rtl insn can be expanded into different asm instructions
- depending on the cc0_status. To properly determine type of jump
- instructions we scan instruction stream and map jumps types to this
- array. */
-static enum attr_type *sched_branch_type;
-
-/* Return the type of the jump insn. */
-enum attr_type
-m68k_sched_branch_type (rtx insn)
-{
- enum attr_type type;
-
- type = sched_branch_type[INSN_UID (insn)];
-
- gcc_assert (type != 0);
-
- return type;
-}
-
/* Data for ColdFire V4 index bypass.
Producer modifies register that is used as index in consumer with
specified scale. */
int sched_verbose ATTRIBUTE_UNUSED,
int n_insns ATTRIBUTE_UNUSED)
{
- /* Init branch types. */
- {
- rtx insn;
-
- sched_branch_type = XCNEWVEC (enum attr_type, get_max_uid () + 1);
-
- for (insn = get_insns (); insn != NULL_RTX; insn = NEXT_INSN (insn))
- {
- if (JUMP_P (insn))
- /* !!! FIXME: Implement real scan here. */
- sched_branch_type[INSN_UID (insn)] = TYPE_BCC;
- }
- }
-
#ifdef ENABLE_CHECKING
/* Check that all instructions have DFA reservations and
that all instructions can be issued from a clean state. */
sched_ib.records.adjust = NULL;
sched_ib.records.n_insns = 0;
max_insn_size = 0;
-
- free (sched_branch_type);
- sched_branch_type = NULL;
}
/* Implementation of targetm.sched.init () hook.
{
OUTPUT_JUMP ("jeq %l0", "fjeq %l0", "jeq %l0");
}
- [(set (attr "type") (symbol_ref "m68k_sched_branch_type (insn)"))])
+ [(set_attr "type" "bcc")])
(define_insn "bne"
[(set (pc)
{
OUTPUT_JUMP ("jne %l0", "fjne %l0", "jne %l0");
}
- [(set (attr "type") (symbol_ref "m68k_sched_branch_type (insn)"))])
+ [(set_attr "type" "bcc")])
(define_insn "bgt"
[(set (pc)
OUTPUT_JUMP ("jgt %l0", "fjgt %l0", 0);
}
- [(set (attr "type") (symbol_ref "m68k_sched_branch_type (insn)"))])
+ [(set_attr "type" "bcc")])
(define_insn "bgtu"
[(set (pc)
OUTPUT_JUMP ("jlt %l0", "fjlt %l0", "jmi %l0");
}
- [(set (attr "type") (symbol_ref "m68k_sched_branch_type (insn)"))])
+ [(set_attr "type" "bcc")])
(define_insn "bltu"
[(set (pc)