From 800dcd865a5bdae76e6e95f2d4c24791c36907f7 Mon Sep 17 00:00:00 2001 From: Trevor Saunders Date: Mon, 21 Nov 2016 06:15:08 +0000 Subject: [PATCH] make recog () take a rtx_insn * gcc/ChangeLog: 2016-11-21 Trevor Saunders * config/v850/v850.c (expand_prologue): Adjust. (expand_epilogue): Likewise. * expr.c (init_expr_target): Likewise. * genrecog.c (print_subroutine): Always make the argument type rtx_insn *. * recog.h: Adjust prototype. From-SVN: r242651 --- gcc/ChangeLog | 9 +++++++++ gcc/config/v850/v850.c | 4 ++-- gcc/expr.c | 4 ++-- gcc/genrecog.c | 14 ++------------ gcc/recog.h | 2 +- 5 files changed, 16 insertions(+), 17 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b9f2dc814f8..b08f0813811 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2016-11-21 Trevor Saunders + + * config/v850/v850.c (expand_prologue): Adjust. + (expand_epilogue): Likewise. + * expr.c (init_expr_target): Likewise. + * genrecog.c (print_subroutine): Always make the argument type + rtx_insn *. + * recog.h: Adjust prototype. + 2016-11-21 Trevor Saunders * config/aarch64/aarch64.c (aarch64_emit_unlikely_jump): split diff --git a/gcc/config/v850/v850.c b/gcc/config/v850/v850.c index 91e182f06c1..c27bb6d021f 100644 --- a/gcc/config/v850/v850.c +++ b/gcc/config/v850/v850.c @@ -1741,7 +1741,7 @@ expand_prologue (void) v850_all_frame_related (save_all); - code = recog (save_all, NULL_RTX, NULL); + code = recog (save_all, NULL, NULL); if (code >= 0) { rtx insn = emit_insn (save_all); @@ -1887,7 +1887,7 @@ expand_epilogue (void) offset -= 4; } - code = recog (restore_all, NULL_RTX, NULL); + code = recog (restore_all, NULL, NULL); if (code >= 0) { diff --git a/gcc/expr.c b/gcc/expr.c index a51c16478d3..fe752fb8f2b 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -109,7 +109,7 @@ static HOST_WIDE_INT int_expr_size (tree); void init_expr_target (void) { - rtx insn, pat; + rtx pat; machine_mode mode; int num_clobbers; rtx mem, mem1; @@ -125,7 +125,7 @@ init_expr_target (void) useless RTL allocations. */ reg = gen_rtx_REG (word_mode, LAST_VIRTUAL_REGISTER + 1); - insn = rtx_alloc (INSN); + rtx_insn *insn = as_a (rtx_alloc (INSN)); pat = gen_rtx_SET (NULL_RTX, NULL_RTX); PATTERN (insn) = pat; diff --git a/gcc/genrecog.c b/gcc/genrecog.c index a8e8c22340c..e4377c3afa4 100644 --- a/gcc/genrecog.c +++ b/gcc/genrecog.c @@ -5099,11 +5099,6 @@ print_pattern (output_state *os, pattern_routine *routine) static void print_subroutine (output_state *os, state *s, int proc_id) { - /* For now, the top-level "recog" takes a plain "rtx", and performs a - checked cast to "rtx_insn *" for use throughout the rest of the - function and the code it calls. */ - const char *insn_param - = proc_id > 0 ? "rtx_insn *insn" : "rtx uncast_insn"; printf ("\n"); switch (os->type) { @@ -5116,8 +5111,8 @@ print_subroutine (output_state *os, state *s, int proc_id) else printf ("int\nrecog"); printf (" (rtx x1 ATTRIBUTE_UNUSED,\n" - "\t%s ATTRIBUTE_UNUSED,\n" - "\tint *pnum_clobbers ATTRIBUTE_UNUSED)\n", insn_param); + "\trtx_insn *insn ATTRIBUTE_UNUSED,\n" + "\tint *pnum_clobbers ATTRIBUTE_UNUSED)\n"); break; case SPLIT: @@ -5142,11 +5137,6 @@ print_subroutine (output_state *os, state *s, int proc_id) if (proc_id == 0) { printf (" recog_data.insn = NULL;\n"); - if (os->type == RECOG) - { - printf (" rtx_insn *insn ATTRIBUTE_UNUSED;\n"); - printf (" insn = safe_as_a (uncast_insn);\n"); - } } print_state (os, s, 2, true); printf ("}\n"); diff --git a/gcc/recog.h b/gcc/recog.h index 3a59af8608f..9f6c42c83a2 100644 --- a/gcc/recog.h +++ b/gcc/recog.h @@ -124,7 +124,7 @@ extern int offsettable_address_addr_space_p (int, machine_mode, rtx, ADDR_SPACE_GENERIC) extern bool mode_dependent_address_p (rtx, addr_space_t); -extern int recog (rtx, rtx, int *); +extern int recog (rtx, rtx_insn *, int *); #ifndef GENERATOR_FILE static inline int recog_memoized (rtx_insn *insn); #endif -- 2.30.2