summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTrevor Saunders <tbsaunde+gcc@tbsaunde.org>2016-11-21 06:15:08 +0000
committerTrevor Saunders <tbsaunde@gcc.gnu.org>2016-11-21 06:15:08 +0000
commit800dcd865a5bdae76e6e95f2d4c24791c36907f7 (patch)
tree509ef6320640f978b338781791b3dbfd30eb42af
parentf370536c9c6a1eca30fe9685b9cbcb8dca681e36 (diff)
make recog () take a rtx_insn *
gcc/ChangeLog: 2016-11-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * 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
-rw-r--r--gcc/ChangeLog9
-rw-r--r--gcc/config/v850/v850.c4
-rw-r--r--gcc/expr.c4
-rw-r--r--gcc/genrecog.c14
-rw-r--r--gcc/recog.h2
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,5 +1,14 @@
2016-11-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+ * 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 <tbsaunde+gcc@tbsaunde.org>
+
* config/aarch64/aarch64.c (aarch64_emit_unlikely_jump): split
up variables to make some rtx_insn *.
* config/alpha/alpha.c (emit_unlikely_jump): Likewise.
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_insn *> (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 <rtx_insn *> (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