aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorDavid Malcolm <dmalcolm@redhat.com>2014-09-05 14:04:46 +0000
committerDavid Malcolm <dmalcolm@gcc.gnu.org>2014-09-05 14:04:46 +0000
commit7fa55ff675da902516b0e0624e8436b823122963 (patch)
treef511f0ad87a62f6b42667d2184981b61488818e9 /gcc/config
parent75677a6759750582b0aa92b3409d0061b4f66739 (diff)
downloadgcc-7fa55ff675da902516b0e0624e8436b823122963.zip
gcc-7fa55ff675da902516b0e0624e8436b823122963.tar.gz
gcc-7fa55ff675da902516b0e0624e8436b823122963.tar.bz2
Drop uncast_insn from param 1 of final_scan_insn
gcc/ChangeLog 2014-09-05 David Malcolm <dmalcolm@redhat.com> * output.h (final_scan_insn): Strengthen first param from rtx to rtx_insn *. * final.c (final_scan_insn): Likewise, renaming it back from "uncast_insn" to "insn", eliminating the checked cast. * config/h8300/h8300.md (define_insn "jump"): Replace local rtx "vec" with an rtx_sequence * "seq", taking a copy of "final_sequence", and using methods of "seq" for clarity, and for type-safety in the calls to final_scan_insn. * config/mips/mips.c (mips_output_conditional_branch): Use methods of "final_sequence" for clarity, and for type-safety in the call to final_scan_insn. * config/sh/sh.c (print_slot): Strengthen param from rtx to rtx_sequence * and rename from "insn" to "seq". From-SVN: r214961
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/h8300/h8300.md10
-rw-r--r--gcc/config/mips/mips.c8
-rw-r--r--gcc/config/sh/sh.c8
3 files changed, 13 insertions, 13 deletions
diff --git a/gcc/config/h8300/h8300.md b/gcc/config/h8300/h8300.md
index bc592dc..cb10203 100644
--- a/gcc/config/h8300/h8300.md
+++ b/gcc/config/h8300/h8300.md
@@ -2404,14 +2404,14 @@
bytes further than previously thought. The length-based
test for bra vs. jump is very conservative though, so the
branch will still be within range. */
- rtvec vec;
+ rtx_sequence *seq;
int seen;
- vec = XVEC (final_sequence, 0);
+ seq = final_sequence;
final_sequence = 0;
- final_scan_insn (RTVEC_ELT (vec, 1), asm_out_file, optimize, 1, & seen);
- final_scan_insn (RTVEC_ELT (vec, 0), asm_out_file, optimize, 1, & seen);
- INSN_DELETED_P (RTVEC_ELT (vec, 1)) = 1;
+ final_scan_insn (seq->insn (1), asm_out_file, optimize, 1, & seen);
+ final_scan_insn (seq->insn (0), asm_out_file, optimize, 1, & seen);
+ INSN_DELETED_P (seq->insn (1)) = 1;
return "";
}
}
diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c
index 3e77491..f9713c1 100644
--- a/gcc/config/mips/mips.c
+++ b/gcc/config/mips/mips.c
@@ -12496,9 +12496,9 @@ mips_output_conditional_branch (rtx_insn *insn, rtx *operands,
delay slot if is not annulled. */
if (!INSN_ANNULLED_BRANCH_P (insn))
{
- final_scan_insn (XVECEXP (final_sequence, 0, 1),
+ final_scan_insn (final_sequence->insn (1),
asm_out_file, optimize, 1, NULL);
- INSN_DELETED_P (XVECEXP (final_sequence, 0, 1)) = 1;
+ INSN_DELETED_P (final_sequence->insn (1)) = 1;
}
else
output_asm_insn ("nop", 0);
@@ -12521,9 +12521,9 @@ mips_output_conditional_branch (rtx_insn *insn, rtx *operands,
Use INSN's delay slot if is annulled. */
if (INSN_ANNULLED_BRANCH_P (insn))
{
- final_scan_insn (XVECEXP (final_sequence, 0, 1),
+ final_scan_insn (final_sequence->insn (1),
asm_out_file, optimize, 1, NULL);
- INSN_DELETED_P (XVECEXP (final_sequence, 0, 1)) = 1;
+ INSN_DELETED_P (final_sequence->insn (1)) = 1;
}
else
output_asm_insn ("nop", 0);
diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c
index 849867a..3b4acb9 100644
--- a/gcc/config/sh/sh.c
+++ b/gcc/config/sh/sh.c
@@ -184,7 +184,7 @@ static bool shmedia_space_reserved_for_target_registers;
static void split_branches (rtx_insn *);
static int branch_dest (rtx);
-static void print_slot (rtx);
+static void print_slot (rtx_sequence *);
static rtx_code_label *add_constant (rtx, enum machine_mode, rtx);
static void dump_table (rtx_insn *, rtx_insn *);
static bool broken_move (rtx_insn *);
@@ -2641,11 +2641,11 @@ output_movedouble (rtx insn ATTRIBUTE_UNUSED, rtx operands[],
another instruction, but couldn't because the other instruction expanded
into a sequence where putting the slot insn at the end wouldn't work. */
static void
-print_slot (rtx insn)
+print_slot (rtx_sequence *seq)
{
- final_scan_insn (XVECEXP (insn, 0, 1), asm_out_file, optimize, 1, NULL);
+ final_scan_insn (seq->insn (1), asm_out_file, optimize, 1, NULL);
- INSN_DELETED_P (XVECEXP (insn, 0, 1)) = 1;
+ INSN_DELETED_P (seq->insn (1)) = 1;
}
const char *