Commit 6cb7eb41 by David Malcolm Committed by David Malcolm

config/sh: Use rtx_insn and rtx_code_label

gcc/
	* config/sh/sh-protos.h (output_ieee_ccmpeq): Strengthen param 1
	from rtx to rtx_insn *.
	(output_branchy_insn): Likewise for param 3.
	(output_far_jump): Likewise for param 1.
	(final_prescan_insn): Likewise.
	(sh_insn_length_adjustment): Likewise for sole param.

	* config/sh/sh.c (expand_cbranchsi4): Likewise for local "jump".
	(expand_cbranchdi4): Strengthen local "skip_label" from rtx to
	rtx_code_label *.
	(sh_emit_compare_and_set): Likewise for local "lab".
	(output_far_jump): Strengthen param "insn" and local "prev" from
	rtx to rtx_insn *.
	(output_branchy_insn): Likewise for param "insn" and local
	"next_insn".
	(output_ieee_ccmpeq): Likewise for param "insn".
	(struct label_ref_list_d): Strengthen field "label" from rtx to
	rtx_code_label *.
	(pool_node): Likewise.
	(pool_window_label): Likewise for this global.
	(add_constant): Likewise for return type and locals "lab", "new_rtx".
	(dump_table): Strengthen params "start", "barrier" and local
	"scan" from rtx to rtx_insn *.
	(broken_move): Likewise for param "insn".
	(untangle_mova): Likewise for params "first_mova" and "new_mova".
	Strengthen param "first_mova" from rtx * to rtx_insn **.
	(mova_p): Likewise for param "insn".
	(fixup_mova): Likewise for param "mova".
	(find_barrier): Likewise for return type, params "mova" and
	"from", and locals "barrier_before_mova", "found_barrier",
	"good_barrier", "orig", "last_symoff", "next".  Strengthen local
	"label" from rtx to rtx_code_label *.
	(sh_loop_align): Strengthen locals "first", "insn", "mova" from
	rtx to rtx_insn *.
	(sh_reorg): Likewise for locals "link", "scan", "barrier".
	(split_branches): Likewise for param "first" and local "insn".
	(final_prescan_insn): Likewise for param "insn".
	(sequence_insn_p): Likewise for locals "prev", "next".
	(sh_insn_length_adjustment): Likewise for param "insn".
	(sh_can_redirect_branch): Likewise for local "insn".
	(find_r0_life_regions): Likewise for locals "end", "insn".
	(sh_output_mi_thunk): Likewise for local "insns".

From-SVN: r214459
parent 6bf8c00c
2014-08-25 David Malcolm <dmalcolm@redhat.com> 2014-08-25 David Malcolm <dmalcolm@redhat.com>
* config/sh/sh-protos.h (output_ieee_ccmpeq): Strengthen param 1
from rtx to rtx_insn *.
(output_branchy_insn): Likewise for param 3.
(output_far_jump): Likewise for param 1.
(final_prescan_insn): Likewise.
(sh_insn_length_adjustment): Likewise for sole param.
* config/sh/sh.c (expand_cbranchsi4): Likewise for local "jump".
(expand_cbranchdi4): Strengthen local "skip_label" from rtx to
rtx_code_label *.
(sh_emit_compare_and_set): Likewise for local "lab".
(output_far_jump): Strengthen param "insn" and local "prev" from
rtx to rtx_insn *.
(output_branchy_insn): Likewise for param "insn" and local
"next_insn".
(output_ieee_ccmpeq): Likewise for param "insn".
(struct label_ref_list_d): Strengthen field "label" from rtx to
rtx_code_label *.
(pool_node): Likewise.
(pool_window_label): Likewise for this global.
(add_constant): Likewise for return type and locals "lab", "new_rtx".
(dump_table): Strengthen params "start", "barrier" and local
"scan" from rtx to rtx_insn *.
(broken_move): Likewise for param "insn".
(untangle_mova): Likewise for params "first_mova" and "new_mova".
Strengthen param "first_mova" from rtx * to rtx_insn **.
(mova_p): Likewise for param "insn".
(fixup_mova): Likewise for param "mova".
(find_barrier): Likewise for return type, params "mova" and
"from", and locals "barrier_before_mova", "found_barrier",
"good_barrier", "orig", "last_symoff", "next". Strengthen local
"label" from rtx to rtx_code_label *.
(sh_loop_align): Strengthen locals "first", "insn", "mova" from
rtx to rtx_insn *.
(sh_reorg): Likewise for locals "link", "scan", "barrier".
(split_branches): Likewise for param "first" and local "insn".
(final_prescan_insn): Likewise for param "insn".
(sequence_insn_p): Likewise for locals "prev", "next".
(sh_insn_length_adjustment): Likewise for param "insn".
(sh_can_redirect_branch): Likewise for local "insn".
(find_r0_life_regions): Likewise for locals "end", "insn".
(sh_output_mi_thunk): Likewise for local "insns".
2014-08-25 David Malcolm <dmalcolm@redhat.com>
* config/score/score.c (score_output_mi_thunk): Strengthen local * config/score/score.c (score_output_mi_thunk): Strengthen local
"insn" from rtx to rtx_insn *. "insn" from rtx to rtx_insn *.
(score_prologue): Likewise. (score_prologue): Likewise.
......
...@@ -95,11 +95,12 @@ extern rtx sh_fsca_int2sf (void); ...@@ -95,11 +95,12 @@ extern rtx sh_fsca_int2sf (void);
/* Declare functions defined in sh.c and used in templates. */ /* Declare functions defined in sh.c and used in templates. */
extern const char *output_branch (int, rtx, rtx *); extern const char *output_branch (int, rtx, rtx *);
extern const char *output_ieee_ccmpeq (rtx, rtx *); extern const char *output_ieee_ccmpeq (rtx_insn *, rtx *);
extern const char *output_branchy_insn (enum rtx_code, const char *, rtx, rtx *); extern const char *output_branchy_insn (enum rtx_code, const char *,
rtx_insn *, rtx *);
extern const char *output_movedouble (rtx, rtx[], enum machine_mode); extern const char *output_movedouble (rtx, rtx[], enum machine_mode);
extern const char *output_movepcrel (rtx, rtx[], enum machine_mode); extern const char *output_movepcrel (rtx, rtx[], enum machine_mode);
extern const char *output_far_jump (rtx, rtx); extern const char *output_far_jump (rtx_insn *, rtx);
extern rtx sfunc_uses_reg (rtx); extern rtx sfunc_uses_reg (rtx);
extern int barrier_align (rtx); extern int barrier_align (rtx);
...@@ -145,7 +146,7 @@ extern rtx gen_datalabel_ref (rtx); ...@@ -145,7 +146,7 @@ extern rtx gen_datalabel_ref (rtx);
extern int regs_used (rtx, int); extern int regs_used (rtx, int);
extern void fixup_addr_diff_vecs (rtx); extern void fixup_addr_diff_vecs (rtx);
extern int get_dest_uid (rtx, int); extern int get_dest_uid (rtx, int);
extern void final_prescan_insn (rtx, rtx *, int); extern void final_prescan_insn (rtx_insn *, rtx *, int);
extern enum tls_model tls_symbolic_operand (rtx, enum machine_mode); extern enum tls_model tls_symbolic_operand (rtx, enum machine_mode);
extern bool system_reg_operand (rtx, enum machine_mode); extern bool system_reg_operand (rtx, enum machine_mode);
extern bool reg_unused_after (rtx, rtx); extern bool reg_unused_after (rtx, rtx);
...@@ -153,7 +154,7 @@ extern void expand_sf_unop (rtx (*)(rtx, rtx, rtx), rtx *); ...@@ -153,7 +154,7 @@ extern void expand_sf_unop (rtx (*)(rtx, rtx, rtx), rtx *);
extern void expand_sf_binop (rtx (*)(rtx, rtx, rtx, rtx), rtx *); extern void expand_sf_binop (rtx (*)(rtx, rtx, rtx, rtx), rtx *);
extern void expand_df_unop (rtx (*)(rtx, rtx, rtx), rtx *); extern void expand_df_unop (rtx (*)(rtx, rtx, rtx), rtx *);
extern void expand_df_binop (rtx (*)(rtx, rtx, rtx, rtx), rtx *); extern void expand_df_binop (rtx (*)(rtx, rtx, rtx, rtx), rtx *);
extern int sh_insn_length_adjustment (rtx); extern int sh_insn_length_adjustment (rtx_insn *);
extern bool sh_can_redirect_branch (rtx, rtx); extern bool sh_can_redirect_branch (rtx, rtx);
extern void sh_expand_unop_v2sf (enum rtx_code, rtx, rtx); extern void sh_expand_unop_v2sf (enum rtx_code, rtx, rtx);
extern void sh_expand_binop_v2sf (enum rtx_code, rtx, rtx, rtx); extern void sh_expand_binop_v2sf (enum rtx_code, rtx, rtx, rtx);
......
...@@ -182,14 +182,14 @@ int assembler_dialect; ...@@ -182,14 +182,14 @@ int assembler_dialect;
static bool shmedia_space_reserved_for_target_registers; static bool shmedia_space_reserved_for_target_registers;
static void split_branches (rtx); static void split_branches (rtx_insn *);
static int branch_dest (rtx); static int branch_dest (rtx);
static void print_slot (rtx); static void print_slot (rtx);
static rtx add_constant (rtx, enum machine_mode, rtx); static rtx_code_label *add_constant (rtx, enum machine_mode, rtx);
static void dump_table (rtx, rtx); static void dump_table (rtx_insn *, rtx_insn *);
static bool broken_move (rtx); static bool broken_move (rtx_insn *);
static bool mova_p (rtx); static bool mova_p (rtx_insn *);
static rtx find_barrier (int, rtx, rtx); static rtx_insn *find_barrier (int, rtx_insn *, rtx_insn *);
static bool noncall_uses_reg (rtx, rtx, rtx *); static bool noncall_uses_reg (rtx, rtx, rtx *);
static rtx gen_block_redirect (rtx, int, int); static rtx gen_block_redirect (rtx, int, int);
static void sh_reorg (void); static void sh_reorg (void);
...@@ -2031,7 +2031,7 @@ expand_cbranchsi4 (rtx *operands, enum rtx_code comparison, int probability) ...@@ -2031,7 +2031,7 @@ expand_cbranchsi4 (rtx *operands, enum rtx_code comparison, int probability)
emit_insn (gen_rtx_SET (VOIDmode, get_t_reg_rtx (), emit_insn (gen_rtx_SET (VOIDmode, get_t_reg_rtx (),
gen_rtx_fmt_ee (comparison, SImode, gen_rtx_fmt_ee (comparison, SImode,
operands[1], operands[2]))); operands[1], operands[2])));
rtx jump = emit_jump_insn (branch_expander (operands[3])); rtx_insn *jump = emit_jump_insn (branch_expander (operands[3]));
if (probability >= 0) if (probability >= 0)
add_int_reg_note (jump, REG_BR_PROB, probability); add_int_reg_note (jump, REG_BR_PROB, probability);
} }
...@@ -2057,7 +2057,7 @@ bool ...@@ -2057,7 +2057,7 @@ bool
expand_cbranchdi4 (rtx *operands, enum rtx_code comparison) expand_cbranchdi4 (rtx *operands, enum rtx_code comparison)
{ {
enum rtx_code msw_taken, msw_skip, lsw_taken; enum rtx_code msw_taken, msw_skip, lsw_taken;
rtx skip_label = NULL_RTX; rtx_code_label *skip_label = NULL;
rtx op1h, op1l, op2h, op2l; rtx op1h, op1l, op2h, op2l;
int num_branches; int num_branches;
int prob, rev_prob; int prob, rev_prob;
...@@ -2495,7 +2495,7 @@ sh_emit_compare_and_set (rtx *operands, enum machine_mode mode) ...@@ -2495,7 +2495,7 @@ sh_emit_compare_and_set (rtx *operands, enum machine_mode mode)
enum rtx_code code = GET_CODE (operands[1]); enum rtx_code code = GET_CODE (operands[1]);
rtx op0 = operands[2]; rtx op0 = operands[2];
rtx op1 = operands[3]; rtx op1 = operands[3];
rtx lab = NULL_RTX; rtx_code_label *lab = NULL;
bool invert = false; bool invert = false;
rtx tem; rtx tem;
...@@ -2649,14 +2649,14 @@ print_slot (rtx insn) ...@@ -2649,14 +2649,14 @@ print_slot (rtx insn)
} }
const char * const char *
output_far_jump (rtx insn, rtx op) output_far_jump (rtx_insn *insn, rtx op)
{ {
struct { rtx lab, reg, op; } this_jmp; struct { rtx lab, reg, op; } this_jmp;
rtx braf_base_lab = NULL_RTX; rtx braf_base_lab = NULL_RTX;
const char *jump; const char *jump;
int far; int far;
int offset = branch_dest (insn) - INSN_ADDRESSES (INSN_UID (insn)); int offset = branch_dest (insn) - INSN_ADDRESSES (INSN_UID (insn));
rtx prev; rtx_insn *prev;
this_jmp.lab = gen_label_rtx (); this_jmp.lab = gen_label_rtx ();
...@@ -2846,9 +2846,9 @@ output_branch (int logic, rtx insn, rtx *operands) ...@@ -2846,9 +2846,9 @@ output_branch (int logic, rtx insn, rtx *operands)
follow jmp and bt, if the address is in range. */ follow jmp and bt, if the address is in range. */
const char * const char *
output_branchy_insn (enum rtx_code code, const char *templ, output_branchy_insn (enum rtx_code code, const char *templ,
rtx insn, rtx *operands) rtx_insn *insn, rtx *operands)
{ {
rtx next_insn = NEXT_INSN (insn); rtx_insn *next_insn = NEXT_INSN (insn);
if (next_insn && JUMP_P (next_insn) && condjump_p (next_insn)) if (next_insn && JUMP_P (next_insn) && condjump_p (next_insn))
{ {
...@@ -2886,7 +2886,7 @@ output_branchy_insn (enum rtx_code code, const char *templ, ...@@ -2886,7 +2886,7 @@ output_branchy_insn (enum rtx_code code, const char *templ,
} }
const char * const char *
output_ieee_ccmpeq (rtx insn, rtx *operands) output_ieee_ccmpeq (rtx_insn *insn, rtx *operands)
{ {
return output_branchy_insn (NE, "bt %l9" "\n" return output_branchy_insn (NE, "bt %l9" "\n"
" fcmp/eq %1,%0", " fcmp/eq %1,%0",
...@@ -4512,7 +4512,7 @@ static alloc_pool label_ref_list_pool; ...@@ -4512,7 +4512,7 @@ static alloc_pool label_ref_list_pool;
typedef struct label_ref_list_d typedef struct label_ref_list_d
{ {
rtx label; rtx_code_label *label;
struct label_ref_list_d *next; struct label_ref_list_d *next;
} *label_ref_list_t; } *label_ref_list_t;
...@@ -4572,7 +4572,7 @@ typedef struct label_ref_list_d ...@@ -4572,7 +4572,7 @@ typedef struct label_ref_list_d
typedef struct typedef struct
{ {
rtx value; /* Value in table. */ rtx value; /* Value in table. */
rtx label; /* Label of value. */ rtx_code_label *label; /* Label of value. */
label_ref_list_t wend; /* End of window. */ label_ref_list_t wend; /* End of window. */
enum machine_mode mode; /* Mode of value. */ enum machine_mode mode; /* Mode of value. */
...@@ -4588,7 +4588,7 @@ typedef struct ...@@ -4588,7 +4588,7 @@ typedef struct
#define MAX_POOL_SIZE 372 #define MAX_POOL_SIZE 372
static pool_node pool_vector[MAX_POOL_SIZE]; static pool_node pool_vector[MAX_POOL_SIZE];
static int pool_size; static int pool_size;
static rtx pool_window_label; static rtx_code_label *pool_window_label;
static int pool_window_last; static int pool_window_last;
static int max_labelno_before_reorg; static int max_labelno_before_reorg;
...@@ -4604,11 +4604,11 @@ static int max_labelno_before_reorg; ...@@ -4604,11 +4604,11 @@ static int max_labelno_before_reorg;
necessary. */ necessary. */
/* Add a constant to the pool and return its label. */ /* Add a constant to the pool and return its label. */
static rtx static rtx_code_label *
add_constant (rtx x, enum machine_mode mode, rtx last_value) add_constant (rtx x, enum machine_mode mode, rtx last_value)
{ {
int i; int i;
rtx lab, new_rtx; rtx_code_label *lab, *new_rtx;
label_ref_list_t ref, newref; label_ref_list_t ref, newref;
/* First see if we've already got it. */ /* First see if we've already got it. */
...@@ -4683,9 +4683,9 @@ add_constant (rtx x, enum machine_mode mode, rtx last_value) ...@@ -4683,9 +4683,9 @@ add_constant (rtx x, enum machine_mode mode, rtx last_value)
these insns at a 4-byte aligned position. BARRIER is the barrier these insns at a 4-byte aligned position. BARRIER is the barrier
after which we are to place the table. */ after which we are to place the table. */
static void static void
dump_table (rtx start, rtx barrier) dump_table (rtx_insn *start, rtx_insn *barrier)
{ {
rtx scan = barrier; rtx_insn *scan = barrier;
int i; int i;
bool need_align = true; bool need_align = true;
rtx lab; rtx lab;
...@@ -4860,7 +4860,7 @@ dump_table (rtx start, rtx barrier) ...@@ -4860,7 +4860,7 @@ dump_table (rtx start, rtx barrier)
scan = emit_insn_after (gen_consttable_end (), scan); scan = emit_insn_after (gen_consttable_end (), scan);
scan = emit_barrier_after (scan); scan = emit_barrier_after (scan);
pool_size = 0; pool_size = 0;
pool_window_label = NULL_RTX; pool_window_label = NULL;
pool_window_last = 0; pool_window_last = 0;
} }
...@@ -4872,7 +4872,7 @@ dump_table (rtx start, rtx barrier) ...@@ -4872,7 +4872,7 @@ dump_table (rtx start, rtx barrier)
CONST_DOUBLE input value is CONST_OK_FOR_I08. For a SFmode move, we don't CONST_DOUBLE input value is CONST_OK_FOR_I08. For a SFmode move, we don't
need to fix it if the input value is CONST_OK_FOR_I08. */ need to fix it if the input value is CONST_OK_FOR_I08. */
static bool static bool
broken_move (rtx insn) broken_move (rtx_insn *insn)
{ {
if (NONJUMP_INSN_P (insn)) if (NONJUMP_INSN_P (insn))
{ {
...@@ -4919,7 +4919,7 @@ broken_move (rtx insn) ...@@ -4919,7 +4919,7 @@ broken_move (rtx insn)
/* Return true if the specified insn is a mova insn. */ /* Return true if the specified insn is a mova insn. */
static bool static bool
mova_p (rtx insn) mova_p (rtx_insn *insn)
{ {
return (NONJUMP_INSN_P (insn) return (NONJUMP_INSN_P (insn)
&& GET_CODE (PATTERN (insn)) == SET && GET_CODE (PATTERN (insn)) == SET
...@@ -4931,7 +4931,7 @@ mova_p (rtx insn) ...@@ -4931,7 +4931,7 @@ mova_p (rtx insn)
/* Fix up a mova from a switch that went out of range. */ /* Fix up a mova from a switch that went out of range. */
static void static void
fixup_mova (rtx mova) fixup_mova (rtx_insn *mova)
{ {
PUT_MODE (XEXP (MOVA_LABELREF (mova), 0), QImode); PUT_MODE (XEXP (MOVA_LABELREF (mova), 0), QImode);
if (! flag_pic) if (! flag_pic)
...@@ -4975,7 +4975,7 @@ fixup_mova (rtx mova) ...@@ -4975,7 +4975,7 @@ fixup_mova (rtx mova)
return 0 if *first_mova was replaced, 1 if new_mova was replaced, return 0 if *first_mova was replaced, 1 if new_mova was replaced,
2 if new_mova has been assigned to *first_mova, -1 otherwise.. */ 2 if new_mova has been assigned to *first_mova, -1 otherwise.. */
static int static int
untangle_mova (int *num_mova, rtx *first_mova, rtx new_mova) untangle_mova (int *num_mova, rtx_insn **first_mova, rtx_insn *new_mova)
{ {
int n_addr = 0; /* Initialization to shut up spurious warning. */ int n_addr = 0; /* Initialization to shut up spurious warning. */
int f_target, n_target = 0; /* Likewise. */ int f_target, n_target = 0; /* Likewise. */
...@@ -5024,8 +5024,8 @@ untangle_mova (int *num_mova, rtx *first_mova, rtx new_mova) ...@@ -5024,8 +5024,8 @@ untangle_mova (int *num_mova, rtx *first_mova, rtx new_mova)
/* Find the last barrier from insn FROM which is close enough to hold the /* Find the last barrier from insn FROM which is close enough to hold the
constant pool. If we can't find one, then create one near the end of constant pool. If we can't find one, then create one near the end of
the range. */ the range. */
static rtx static rtx_insn *
find_barrier (int num_mova, rtx mova, rtx from) find_barrier (int num_mova, rtx_insn *mova, rtx_insn *from)
{ {
int count_si = 0; int count_si = 0;
int count_hi = 0; int count_hi = 0;
...@@ -5035,14 +5035,14 @@ find_barrier (int num_mova, rtx mova, rtx from) ...@@ -5035,14 +5035,14 @@ find_barrier (int num_mova, rtx mova, rtx from)
int hi_align = 2; int hi_align = 2;
int si_align = 2; int si_align = 2;
int leading_mova = num_mova; int leading_mova = num_mova;
rtx barrier_before_mova = NULL_RTX; rtx_insn *barrier_before_mova = NULL;
rtx found_barrier = NULL_RTX; rtx_insn *found_barrier = NULL;
rtx good_barrier = NULL_RTX; rtx_insn *good_barrier = NULL;
int si_limit; int si_limit;
int hi_limit; int hi_limit;
rtx orig = from; rtx_insn *orig = from;
rtx last_got = NULL_RTX; rtx last_got = NULL_RTX;
rtx last_symoff = NULL_RTX; rtx_insn *last_symoff = NULL;
/* For HImode: range is 510, add 4 because pc counts from address of /* For HImode: range is 510, add 4 because pc counts from address of
second instruction after this one, subtract 2 for the jump instruction second instruction after this one, subtract 2 for the jump instruction
...@@ -5102,7 +5102,7 @@ find_barrier (int num_mova, rtx mova, rtx from) ...@@ -5102,7 +5102,7 @@ find_barrier (int num_mova, rtx mova, rtx from)
if (BARRIER_P (from)) if (BARRIER_P (from))
{ {
rtx next; rtx_insn *next;
found_barrier = from; found_barrier = from;
...@@ -5297,7 +5297,7 @@ find_barrier (int num_mova, rtx mova, rtx from) ...@@ -5297,7 +5297,7 @@ find_barrier (int num_mova, rtx mova, rtx from)
{ {
/* We didn't find a barrier in time to dump our stuff, /* We didn't find a barrier in time to dump our stuff,
so we'll make one. */ so we'll make one. */
rtx label = gen_label_rtx (); rtx_code_label *label = gen_label_rtx ();
/* Don't emit a constant table in the middle of insns for /* Don't emit a constant table in the middle of insns for
casesi_worker_2. This is a bit overkill but is enough casesi_worker_2. This is a bit overkill but is enough
...@@ -5345,7 +5345,7 @@ find_barrier (int num_mova, rtx mova, rtx from) ...@@ -5345,7 +5345,7 @@ find_barrier (int num_mova, rtx mova, rtx from)
CALL_ARG_LOCATION note. */ CALL_ARG_LOCATION note. */
if (CALL_P (from)) if (CALL_P (from))
{ {
rtx next = NEXT_INSN (from); rtx_insn *next = NEXT_INSN (from);
if (next && NOTE_P (next) if (next && NOTE_P (next)
&& NOTE_KIND (next) == NOTE_INSN_CALL_ARG_LOCATION) && NOTE_KIND (next) == NOTE_INSN_CALL_ARG_LOCATION)
from = next; from = next;
...@@ -5986,7 +5986,7 @@ sh_loop_align (rtx label) ...@@ -5986,7 +5986,7 @@ sh_loop_align (rtx label)
static void static void
sh_reorg (void) sh_reorg (void)
{ {
rtx first, insn, mova = NULL_RTX; rtx_insn *first, *insn, *mova = NULL;
int num_mova; int num_mova;
rtx r0_rtx = gen_rtx_REG (Pmode, 0); rtx r0_rtx = gen_rtx_REG (Pmode, 0);
rtx r0_inc_rtx = gen_rtx_POST_INC (Pmode, r0_rtx); rtx r0_inc_rtx = gen_rtx_POST_INC (Pmode, r0_rtx);
...@@ -6032,7 +6032,8 @@ sh_reorg (void) ...@@ -6032,7 +6032,8 @@ sh_reorg (void)
for (insn = first; insn; insn = NEXT_INSN (insn)) for (insn = first; insn; insn = NEXT_INSN (insn))
{ {
rtx pattern, reg, link, set, scan, dies, label; rtx pattern, reg, set, dies, label;
rtx_insn *link, *scan;
int rescan = 0, foundinsn = 0; int rescan = 0, foundinsn = 0;
if (CALL_P (insn)) if (CALL_P (insn))
...@@ -6272,10 +6273,10 @@ sh_reorg (void) ...@@ -6272,10 +6273,10 @@ sh_reorg (void)
|| (NONJUMP_INSN_P (insn) || (NONJUMP_INSN_P (insn)
&& recog_memoized (insn) == CODE_FOR_casesi_worker_2)) && recog_memoized (insn) == CODE_FOR_casesi_worker_2))
{ {
rtx scan; rtx_insn *scan;
/* Scan ahead looking for a barrier to stick the constant table /* Scan ahead looking for a barrier to stick the constant table
behind. */ behind. */
rtx barrier = find_barrier (num_mova, mova, insn); rtx_insn *barrier = find_barrier (num_mova, mova, insn);
rtx last_float_move = NULL_RTX, last_float = 0, *last_float_addr = NULL; rtx last_float_move = NULL_RTX, last_float = 0, *last_float_addr = NULL;
int need_aligned_label = 0; int need_aligned_label = 0;
...@@ -6473,9 +6474,9 @@ get_dest_uid (rtx label, int max_uid) ...@@ -6473,9 +6474,9 @@ get_dest_uid (rtx label, int max_uid)
newly created instructions into account. It also allows us to newly created instructions into account. It also allows us to
find branches with common targets more easily. */ find branches with common targets more easily. */
static void static void
split_branches (rtx first) split_branches (rtx_insn *first)
{ {
rtx insn; rtx_insn *insn;
struct far_branch **uid_branch, *far_branch_list = 0; struct far_branch **uid_branch, *far_branch_list = 0;
int max_uid = get_max_uid (); int max_uid = get_max_uid ();
int ok; int ok;
...@@ -6694,7 +6695,7 @@ split_branches (rtx first) ...@@ -6694,7 +6695,7 @@ split_branches (rtx first)
variable length. This is because the second pass of shorten_branches variable length. This is because the second pass of shorten_branches
does not bother to update them. */ does not bother to update them. */
void void
final_prescan_insn (rtx insn, rtx *opvec ATTRIBUTE_UNUSED, final_prescan_insn (rtx_insn *insn, rtx *opvec ATTRIBUTE_UNUSED,
int noperands ATTRIBUTE_UNUSED) int noperands ATTRIBUTE_UNUSED)
{ {
if (TARGET_DUMPISIZE) if (TARGET_DUMPISIZE)
...@@ -10148,7 +10149,7 @@ fpscr_set_from_mem (int mode, HARD_REG_SET regs_live) ...@@ -10148,7 +10149,7 @@ fpscr_set_from_mem (int mode, HARD_REG_SET regs_live)
static bool static bool
sequence_insn_p (rtx insn) sequence_insn_p (rtx insn)
{ {
rtx prev, next; rtx_insn *prev, *next;
prev = PREV_INSN (insn); prev = PREV_INSN (insn);
if (prev == NULL) if (prev == NULL)
...@@ -10162,7 +10163,7 @@ sequence_insn_p (rtx insn) ...@@ -10162,7 +10163,7 @@ sequence_insn_p (rtx insn)
} }
int int
sh_insn_length_adjustment (rtx insn) sh_insn_length_adjustment (rtx_insn *insn)
{ {
/* Instructions with unfilled delay slots take up an extra two bytes for /* Instructions with unfilled delay slots take up an extra two bytes for
the nop in the delay slot. */ the nop in the delay slot. */
...@@ -10736,7 +10737,7 @@ sh_can_redirect_branch (rtx branch1, rtx branch2) ...@@ -10736,7 +10737,7 @@ sh_can_redirect_branch (rtx branch1, rtx branch2)
if (flag_expensive_optimizations && simplejump_p (branch2)) if (flag_expensive_optimizations && simplejump_p (branch2))
{ {
rtx dest = XEXP (SET_SRC (single_set (branch2)), 0); rtx dest = XEXP (SET_SRC (single_set (branch2)), 0);
rtx insn; rtx_insn *insn;
int distance; int distance;
for (distance = 0, insn = NEXT_INSN (branch1); for (distance = 0, insn = NEXT_INSN (branch1);
...@@ -11168,7 +11169,7 @@ ready_reorder (rtx *ready, int nready) ...@@ -11168,7 +11169,7 @@ ready_reorder (rtx *ready, int nready)
static int static int
find_r0_life_regions (basic_block b) find_r0_life_regions (basic_block b)
{ {
rtx end, insn; rtx_insn *end, *insn;
rtx pset; rtx pset;
rtx r0_reg; rtx r0_reg;
int live; int live;
...@@ -12367,7 +12368,8 @@ sh_output_mi_thunk (FILE *file, tree thunk_fndecl ATTRIBUTE_UNUSED, ...@@ -12367,7 +12368,8 @@ sh_output_mi_thunk (FILE *file, tree thunk_fndecl ATTRIBUTE_UNUSED,
{ {
CUMULATIVE_ARGS cum; CUMULATIVE_ARGS cum;
int structure_value_byref = 0; int structure_value_byref = 0;
rtx this_rtx, this_value, sibcall, insns, funexp; rtx this_rtx, this_value, sibcall, funexp;
rtx_insn *insns;
tree funtype = TREE_TYPE (function); tree funtype = TREE_TYPE (function);
int simple_add = CONST_OK_FOR_ADD (delta); int simple_add = CONST_OK_FOR_ADD (delta);
int did_load = 0; int did_load = 0;
......
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