[PATCH 235/236] Make next_insn and previous_insn require an rtx_insn *
David Malcolm
dmalcolm@redhat.com
Wed Aug 6 17:43:00 GMT 2014
gcc/
* rtl.h (previous_insn): Strengthen param from rtx to rtx_insn *.
(next_insn): Likewise.
* emit-rtl.c (next_insn): Likewise.
(previous_insn): Likewise.
* config/pa/pa.c (remove_useless_addtr_insns): Strenghten locals
"insn" and "next" from rtx to rtx_insn *.
* config/picochip/picochip.c (picochip_reorg): Likewise for locals
"insn", "insn1", "vliw_start", "prologue_end_note",
"last_insn_in_packet".
---
gcc/config/pa/pa.c | 5 +++--
gcc/config/picochip/picochip.c | 6 +++---
gcc/emit-rtl.c | 6 ++----
gcc/rtl.h | 4 ++--
4 files changed, 10 insertions(+), 11 deletions(-)
diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c
index 9579db0..5b3688c 100644
--- a/gcc/config/pa/pa.c
+++ b/gcc/config/pa/pa.c
@@ -3314,7 +3314,7 @@ pa_output_ascii (FILE *file, const char *p, int size)
static void
remove_useless_addtr_insns (int check_notes)
{
- rtx insn;
+ rtx_insn *insn;
static int pass = 0;
/* This is fairly cheap, so always run it when optimizing. */
@@ -3366,7 +3366,8 @@ remove_useless_addtr_insns (int check_notes)
reverse the comparison & the branch to avoid add,tr insns. */
for (insn = get_insns (); insn; insn = next_insn (insn))
{
- rtx tmp, next;
+ rtx tmp;
+ rtx_insn *next;
/* Ignore anything that isn't an INSN. */
if (! NONJUMP_INSN_P (insn))
diff --git a/gcc/config/picochip/picochip.c b/gcc/config/picochip/picochip.c
index 3131d28..c59bf76 100644
--- a/gcc/config/picochip/picochip.c
+++ b/gcc/config/picochip/picochip.c
@@ -3248,7 +3248,7 @@ reorder_var_tracking_notes (void)
void
picochip_reorg (void)
{
- rtx insn, insn1, vliw_start = NULL_RTX;
+ rtx_insn *insn, *insn1, *vliw_start = NULL;
int vliw_insn_location = 0;
/* We are freeing block_for_insn in the toplev to keep compatibility
@@ -3325,8 +3325,8 @@ picochip_reorg (void)
of VLIW packets. */
if (picochip_schedule_type == DFA_TYPE_SPEED)
{
- rtx prologue_end_note = NULL;
- rtx last_insn_in_packet = NULL;
+ rtx_insn *prologue_end_note = NULL;
+ rtx_insn *last_insn_in_packet = NULL;
for (insn = get_insns (); insn; insn = next_insn (insn))
{
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c
index 2fc07d6..f6b9356 100644
--- a/gcc/emit-rtl.c
+++ b/gcc/emit-rtl.c
@@ -3201,9 +3201,8 @@ get_max_insn_count (void)
of the sequence. */
rtx_insn *
-next_insn (rtx uncast_insn)
+next_insn (rtx_insn *insn)
{
- rtx_insn *insn = as_a_nullable <rtx_insn *> (uncast_insn);
if (insn)
{
insn = NEXT_INSN (insn);
@@ -3219,9 +3218,8 @@ next_insn (rtx uncast_insn)
of the sequence. */
rtx_insn *
-previous_insn (rtx uncast_insn)
+previous_insn (rtx_insn *insn)
{
- rtx_insn *insn = as_a_nullable <rtx_insn *> (uncast_insn);
if (insn)
{
insn = PREV_INSN (insn);
diff --git a/gcc/rtl.h b/gcc/rtl.h
index 49ad08b..71aefc3 100644
--- a/gcc/rtl.h
+++ b/gcc/rtl.h
@@ -2607,8 +2607,8 @@ extern rtx_insn *emit_use (rtx);
extern rtx_insn *make_insn_raw (rtx);
extern void add_function_usage_to (rtx, rtx);
extern rtx_call_insn *last_call_insn (void);
-extern rtx_insn *previous_insn (rtx);
-extern rtx_insn *next_insn (rtx);
+extern rtx_insn *previous_insn (rtx_insn *);
+extern rtx_insn *next_insn (rtx_insn *);
extern rtx_insn *prev_nonnote_insn (rtx);
extern rtx_insn *prev_nonnote_insn_bb (rtx);
extern rtx_insn *next_nonnote_insn (rtx);
--
1.8.5.3
More information about the Gcc-patches
mailing list