+2014-08-25 David Malcolm <dmalcolm@redhat.com>
+
+ * config/epiphany/epiphany-protos.h (epiphany_final_prescan_insn):
+ Strengthen first param "insn" from rtx to rtx_insn *.
+
+ * config/epiphany/epiphany.c (epiphany_final_prescan_insn):
+ Likewise.
+ (frame_insn): Likewise for return type. Introduce local "insn"
+ for use in place of local "x" for use as an rtx_insn *.
+ (frame_move_insn): Strengthen return type from rtx to rtx_insn *.
+ (epiphany_expand_prologue): Likewise for local "insn".
+ * config/epiphany/mode-switch-use.c (insert_uses): Likewise.
+ * config/epiphany/resolve-sw-modes.c
+ (pass_resolve_sw_modes::execute): Likewise for locals "insn" and
+ "seq".
+
2014-08-25 David Malcolm <dmalcolm@redhat.com>
* config/c6x/c6x-protos.h (c6x_get_unit_specifier): Strengthen
#endif
/* Declarations for various fns used in the .md file. */
-extern void epiphany_final_prescan_insn (rtx, rtx *, int);
+extern void epiphany_final_prescan_insn (rtx_insn *, rtx *, int);
extern bool epiphany_is_long_call_p (rtx);
extern bool epiphany_small16 (rtx);
bool epiphany_uninterruptible_p (tree decl);
bool *);
static bool epiphany_pass_by_reference (cumulative_args_t, enum machine_mode,
const_tree, bool);
-static rtx frame_insn (rtx);
+static rtx_insn *frame_insn (rtx);
\f
/* defines for the initialization of the GCC target structure. */
#define TARGET_ATTRIBUTE_TABLE epiphany_attribute_table
}
void
-epiphany_final_prescan_insn (rtx insn ATTRIBUTE_UNUSED,
+epiphany_final_prescan_insn (rtx_insn *insn ATTRIBUTE_UNUSED,
rtx *opvec ATTRIBUTE_UNUSED,
int noperands ATTRIBUTE_UNUSED)
{
return set;
}
-static rtx
+static rtx_insn *
frame_insn (rtx x)
{
int i;
rtx note = NULL_RTX;
+ rtx_insn *insn;
if (GET_CODE (x) == PARALLEL)
{
note = gen_rtx_PARALLEL (VOIDmode,
gen_rtvec (2, frame_subreg_note (x, 0),
frame_subreg_note (x, UNITS_PER_WORD)));
- x = emit_insn (x);
- RTX_FRAME_RELATED_P (x) = 1;
+ insn = emit_insn (x);
+ RTX_FRAME_RELATED_P (insn) = 1;
if (note)
- add_reg_note (x, REG_FRAME_RELATED_EXPR, note);
- return x;
+ add_reg_note (insn, REG_FRAME_RELATED_EXPR, note);
+ return insn;
}
-static rtx
+static rtx_insn *
frame_move_insn (rtx to, rtx from)
{
return frame_insn (gen_rtx_SET (VOIDmode, to, from));
register save. */
if (current_frame_info.last_slot >= 0)
{
- rtx ip, mem2, insn, note;
+ rtx ip, mem2, note;
+ rtx_insn *insn;
gcc_assert (current_frame_info.last_slot != GPR_FP
|| (!current_frame_info.need_fp
pass_resolve_sw_modes::execute (function *fun)
{
basic_block bb;
- rtx insn, src;
+ rtx_insn *insn;
+ rtx src;
vec<basic_block> todo;
sbitmap pushed;
bool need_commit = false;
FOR_EACH_EDGE (e, ei, bb->succs)
{
basic_block succ = e->dest;
- rtx seq;
+ rtx_insn *seq;
if (!REGNO_REG_SET_P (DF_LIVE_IN (succ), jilted_reg))
continue;