Commit c85e862a by David Malcolm Committed by David Malcolm

config/m68k: Use rtx_insn

gcc/
	* config/m68k/m68k-protos.h (output_btst): Strengthen param 4 from
	rtx to rtx_insn *.
	(strict_low_part_peephole_ok): Likewise for param 2 "first_insn".
	(m68k_final_prescan_insn): Likewise for first param.

	* config/m68k/m68k.c (m68k_emit_movem): Likewise for return type.
	(m68k_set_frame_related): Likewise for param "insn".
	(output_btst): Likewise for param "insn".
	(m68k_final_prescan_insn): Likewise.
	(m68k_move_to_reg): Likewise for local "insn".
	(m68k_call_tls_get_addr): Likewise for local "insns".
	(m68k_call_m68k_read_tp): Likewise.
	(strict_low_part_peephole_ok): Likewise for param "first_insn".
	(m68k_output_mi_thunk): Likewise for local "insn".

From-SVN: r214447
parent 6ae94a0b
2014-08-25 David Malcolm <dmalcolm@redhat.com> 2014-08-25 David Malcolm <dmalcolm@redhat.com>
* config/m68k/m68k-protos.h (output_btst): Strengthen param 4 from
rtx to rtx_insn *.
(strict_low_part_peephole_ok): Likewise for param 2 "first_insn".
(m68k_final_prescan_insn): Likewise for first param.
* config/m68k/m68k.c (m68k_emit_movem): Likewise for return type.
(m68k_set_frame_related): Likewise for param "insn".
(output_btst): Likewise for param "insn".
(m68k_final_prescan_insn): Likewise.
(m68k_move_to_reg): Likewise for local "insn".
(m68k_call_tls_get_addr): Likewise for local "insns".
(m68k_call_m68k_read_tp): Likewise.
(strict_low_part_peephole_ok): Likewise for param "first_insn".
(m68k_output_mi_thunk): Likewise for local "insn".
2014-08-25 David Malcolm <dmalcolm@redhat.com>
* config/iq2000/iq2000-protos.h (final_prescan_insn): Strengthen * config/iq2000/iq2000-protos.h (final_prescan_insn): Strengthen
first param from rtx to rtx_insn *. first param from rtx to rtx_insn *.
(iq2000_adjust_insn_length): Likewise. (iq2000_adjust_insn_length): Likewise.
......
...@@ -34,7 +34,7 @@ extern const char *output_move_strictqi (rtx *); ...@@ -34,7 +34,7 @@ extern const char *output_move_strictqi (rtx *);
extern const char *output_move_double (rtx *); extern const char *output_move_double (rtx *);
extern const char *output_move_const_single (rtx *); extern const char *output_move_const_single (rtx *);
extern const char *output_move_const_double (rtx *); extern const char *output_move_const_double (rtx *);
extern const char *output_btst (rtx *, rtx, rtx, rtx, int); extern const char *output_btst (rtx *, rtx, rtx, rtx_insn *, int);
extern const char *output_scc_di (rtx, rtx, rtx, rtx); extern const char *output_scc_di (rtx, rtx, rtx, rtx);
extern const char *output_addsi3 (rtx *); extern const char *output_addsi3 (rtx *);
extern const char *output_andsi3 (rtx *); extern const char *output_andsi3 (rtx *);
...@@ -44,7 +44,8 @@ extern const char *output_call (rtx); ...@@ -44,7 +44,8 @@ extern const char *output_call (rtx);
extern const char *output_sibcall (rtx); extern const char *output_sibcall (rtx);
extern void output_dbcc_and_branch (rtx *); extern void output_dbcc_and_branch (rtx *);
extern int floating_exact_log2 (rtx); extern int floating_exact_log2 (rtx);
extern bool strict_low_part_peephole_ok (enum machine_mode mode, rtx first_insn, rtx target); extern bool strict_low_part_peephole_ok (enum machine_mode mode,
rtx_insn *first_insn, rtx target);
/* Functions from m68k.c used in macros. */ /* Functions from m68k.c used in macros. */
extern int standard_68881_constant_p (rtx); extern int standard_68881_constant_p (rtx);
...@@ -66,7 +67,7 @@ extern rtx m68k_function_value (const_tree, const_tree); ...@@ -66,7 +67,7 @@ extern rtx m68k_function_value (const_tree, const_tree);
extern int emit_move_sequence (rtx *, enum machine_mode, rtx); extern int emit_move_sequence (rtx *, enum machine_mode, rtx);
extern bool m68k_movem_pattern_p (rtx, rtx, HOST_WIDE_INT, bool); extern bool m68k_movem_pattern_p (rtx, rtx, HOST_WIDE_INT, bool);
extern const char *m68k_output_movem (rtx *, rtx, HOST_WIDE_INT, bool); extern const char *m68k_output_movem (rtx *, rtx, HOST_WIDE_INT, bool);
extern void m68k_final_prescan_insn (rtx, rtx *, int); extern void m68k_final_prescan_insn (rtx_insn *, rtx *, int);
extern bool m68k_epilogue_uses (int); extern bool m68k_epilogue_uses (int);
/* Functions from m68k.c used in constraints.md. */ /* Functions from m68k.c used in constraints.md. */
......
...@@ -911,7 +911,7 @@ m68k_save_reg (unsigned int regno, bool interrupt_handler) ...@@ -911,7 +911,7 @@ m68k_save_reg (unsigned int regno, bool interrupt_handler)
whether or not this is pre-decrement (if STORE_P) or post-increment whether or not this is pre-decrement (if STORE_P) or post-increment
(if !STORE_P) operation. */ (if !STORE_P) operation. */
static rtx static rtx_insn *
m68k_emit_movem (rtx base, HOST_WIDE_INT offset, m68k_emit_movem (rtx base, HOST_WIDE_INT offset,
unsigned int count, unsigned int regno, unsigned int count, unsigned int regno,
unsigned int mask, bool store_p, bool adjust_stack_p) unsigned int mask, bool store_p, bool adjust_stack_p)
...@@ -951,7 +951,7 @@ m68k_emit_movem (rtx base, HOST_WIDE_INT offset, ...@@ -951,7 +951,7 @@ m68k_emit_movem (rtx base, HOST_WIDE_INT offset,
/* Make INSN a frame-related instruction. */ /* Make INSN a frame-related instruction. */
static void static void
m68k_set_frame_related (rtx insn) m68k_set_frame_related (rtx_insn *insn)
{ {
rtx body; rtx body;
int i; int i;
...@@ -1742,7 +1742,7 @@ output_scc_di (rtx op, rtx operand1, rtx operand2, rtx dest) ...@@ -1742,7 +1742,7 @@ output_scc_di (rtx op, rtx operand1, rtx operand2, rtx dest)
} }
const char * const char *
output_btst (rtx *operands, rtx countop, rtx dataop, rtx insn, int signpos) output_btst (rtx *operands, rtx countop, rtx dataop, rtx_insn *insn, int signpos)
{ {
operands[0] = countop; operands[0] = countop;
operands[1] = dataop; operands[1] = dataop;
...@@ -2320,7 +2320,7 @@ m68k_final_prescan_insn_1 (rtx *x_ptr, void *data ATTRIBUTE_UNUSED) ...@@ -2320,7 +2320,7 @@ m68k_final_prescan_insn_1 (rtx *x_ptr, void *data ATTRIBUTE_UNUSED)
/* Prescan insn before outputing assembler for it. */ /* Prescan insn before outputing assembler for it. */
void void
m68k_final_prescan_insn (rtx insn ATTRIBUTE_UNUSED, m68k_final_prescan_insn (rtx_insn *insn ATTRIBUTE_UNUSED,
rtx *operands, int n_operands) rtx *operands, int n_operands)
{ {
int i; int i;
...@@ -2358,7 +2358,7 @@ m68k_final_prescan_insn (rtx insn ATTRIBUTE_UNUSED, ...@@ -2358,7 +2358,7 @@ m68k_final_prescan_insn (rtx insn ATTRIBUTE_UNUSED,
static rtx static rtx
m68k_move_to_reg (rtx x, rtx orig, rtx reg) m68k_move_to_reg (rtx x, rtx orig, rtx reg)
{ {
rtx insn; rtx_insn *insn;
if (reg == NULL_RTX) if (reg == NULL_RTX)
{ {
...@@ -2495,7 +2495,7 @@ static rtx ...@@ -2495,7 +2495,7 @@ static rtx
m68k_call_tls_get_addr (rtx x, rtx eqv, enum m68k_reloc reloc) m68k_call_tls_get_addr (rtx x, rtx eqv, enum m68k_reloc reloc)
{ {
rtx a0; rtx a0;
rtx insns; rtx_insn *insns;
rtx dest; rtx dest;
/* Emit the call sequence. */ /* Emit the call sequence. */
...@@ -2555,7 +2555,7 @@ m68k_call_m68k_read_tp (void) ...@@ -2555,7 +2555,7 @@ m68k_call_m68k_read_tp (void)
{ {
rtx a0; rtx a0;
rtx eqv; rtx eqv;
rtx insns; rtx_insn *insns;
rtx dest; rtx dest;
start_sequence (); start_sequence ();
...@@ -4799,10 +4799,10 @@ print_operand_address (FILE *file, rtx addr) ...@@ -4799,10 +4799,10 @@ print_operand_address (FILE *file, rtx addr)
clear insn. */ clear insn. */
bool bool
strict_low_part_peephole_ok (enum machine_mode mode, rtx first_insn, strict_low_part_peephole_ok (enum machine_mode mode, rtx_insn *first_insn,
rtx target) rtx target)
{ {
rtx p = first_insn; rtx_insn *p = first_insn;
while ((p = PREV_INSN (p))) while ((p = PREV_INSN (p)))
{ {
...@@ -5042,7 +5042,8 @@ m68k_output_mi_thunk (FILE *file, tree thunk ATTRIBUTE_UNUSED, ...@@ -5042,7 +5042,8 @@ m68k_output_mi_thunk (FILE *file, tree thunk ATTRIBUTE_UNUSED,
HOST_WIDE_INT delta, HOST_WIDE_INT vcall_offset, HOST_WIDE_INT delta, HOST_WIDE_INT vcall_offset,
tree function) tree function)
{ {
rtx this_slot, offset, addr, mem, insn, tmp; rtx this_slot, offset, addr, mem, tmp;
rtx_insn *insn;
/* Avoid clobbering the struct value reg by using the /* Avoid clobbering the struct value reg by using the
static chain reg as a temporary. */ static chain reg as a temporary. */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment