summaryrefslogtreecommitdiff
path: root/gcc/rtl.h
diff options
context:
space:
mode:
authordmalcolm <dmalcolm@138bc75d-0d04-0410-961f-82ee72b054a4>2014-08-28 18:59:13 +0000
committerdmalcolm <dmalcolm@138bc75d-0d04-0410-961f-82ee72b054a4>2014-08-28 18:59:13 +0000
commitf17e3fff10bfdf0a8d896931cbc31d1553c6b25f (patch)
tree505bd8408677649e55caaf6edf746f1bd1cfe859 /gcc/rtl.h
parent575a12f2f478838adad2377b6ad9f5983df9bb95 (diff)
downloadgcc-f17e3fff10bfdf0a8d896931cbc31d1553c6b25f.tar.gz
Make SET_NEXT_INSN/SET_PREV_INSN require an rtx_insn
gcc/ 2014-08-28 David Malcolm <dmalcolm@redhat.com> * rtl.h (SET_PREV_INSN): Strengthen param from rtx to rtx_insn *. (SET_NEXT_INSN): Likewise. (gen_rtvec_v): Add an overload for param types (int, rtx_insn **). * config/c6x/c6x.c (gen_one_bundle): Strengthen param "slot" from rtx * to rtx_insn **. Introduce a new local rtx "seq", using it to split out the SEQUENCE from local "bundle", strengthening the latter from rtx to rtx_insn * to hold the insn holding the SEQUENCE. Strengthen locals "t" and "insn" from rtx to rtx_insn *. (c6x_gen_bundles): Strengthen locals "insn", "next", "last_call" and the type of the elements of the "slot" array from rtx to rtx_insn *. (reorg_split_calls): Likewise for locals "insn" and "next", and the type of the elements of the "slot" array. * config/frv/frv.c (frv_nops): Likewise for the elements of this array. (frv_function_prologue): Likewise for locals "insn", "next", "last_call". (frv_register_nop): Introduce a local "nop_insn" to be the rtx_insn * containing rtx "nop". * config/mep/mep.c (mep_make_bundle): Param "core" is sometimes used as an insn and sometimes as a pattern, so rename it to "core_insn_or_pat", and introduce local rtx_insn * "core_insn", using it where dealing with the core insn. * config/picochip/picochip.c (reorder_var_tracking_notes): Strengthen locals "insn", "next", "last_insn", "queue", "next_queue", "prev" from rtx to rtx_insn *. * emit-rtl.c (gen_rtvec_v): Add overloaded implementation for when the second param is an rtx_insn ** rather than an rtx **. (link_insn_into_chain): Strengthen locals "seq" and "sequence" from rtx to rtx_sequence *, and introduce local named "sequence", using methods of rtx_sequence to clarify the code. (remove_insn): Introduce local rtx_sequence * named "sequence" and use its methods. (emit_insn_after_1): Strengthen return type from rtx to rtx_insn *. Rename param "after" to "uncast_after", reintroducing "after" as a local rtx_insn * with a checked cast. (emit_pattern_after_noloc): Rename param "after" to "uncast_after", reintroducing "after" as a local rtx_insn * with a checked cast. Strengthen local "last" from rtx to rtx_insn * and remove the now-redundant checked casts. (copy_delay_slot_insn): Strengthen return type and param from rtx to rtx_insn *. * haifa-sched.c (reemit_notes): Strengthen params "insn" and "last" from rtx to rtx_insn *. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214685 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/rtl.h')
-rw-r--r--gcc/rtl.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/rtl.h b/gcc/rtl.h
index 0b617a32d08..3a021328383 100644
--- a/gcc/rtl.h
+++ b/gcc/rtl.h
@@ -1327,7 +1327,7 @@ inline rtx_insn *PREV_INSN (const_rtx insn)
return safe_as_a <rtx_insn *> (prev);
}
-inline rtx& SET_PREV_INSN (rtx insn)
+inline rtx& SET_PREV_INSN (rtx_insn *insn)
{
return XEXP (insn, 0);
}
@@ -1338,7 +1338,7 @@ inline rtx_insn *NEXT_INSN (const_rtx insn)
return safe_as_a <rtx_insn *> (next);
}
-inline rtx& SET_NEXT_INSN (rtx insn)
+inline rtx& SET_NEXT_INSN (rtx_insn *insn)
{
return XEXP (insn, 1);
}
@@ -2498,6 +2498,7 @@ extern int rtx_equal_p (const_rtx, const_rtx);
/* In emit-rtl.c */
extern rtvec gen_rtvec_v (int, rtx *);
+extern rtvec gen_rtvec_v (int, rtx_insn **);
extern rtx gen_reg_rtx (enum machine_mode);
extern rtx gen_rtx_REG_offset (rtx, enum machine_mode, unsigned int, int);
extern rtx gen_reg_rtx_offset (rtx, enum machine_mode, int);