diff options
author | David Malcolm <dmalcolm@redhat.com> | 2014-09-09 15:14:03 +0000 |
---|---|---|
committer | David Malcolm <dmalcolm@gcc.gnu.org> | 2014-09-09 15:14:03 +0000 |
commit | d6e1e8b8d1663dd2b25bc9e27ca099568848c641 (patch) | |
tree | e9fd85a935c135494fbf5adfc6fce9d4b291818a /gcc/combine.c | |
parent | 0cc97fc5522a17788b0d47550f37d592ffca56ff (diff) | |
download | gcc-d6e1e8b8d1663dd2b25bc9e27ca099568848c641.zip gcc-d6e1e8b8d1663dd2b25bc9e27ca099568848c641.tar.gz gcc-d6e1e8b8d1663dd2b25bc9e27ca099568848c641.tar.bz2 |
Handcode gen_rtx_INSN
gcc/ChangeLog:
2014-09-09 David Malcolm <dmalcolm@redhat.com>
* combine.c (try_combine): Eliminate checked cast on result of
gen_rtx_INSN.
* emit-rtl.c (gen_rtx_INSN): New function, improving over the prior
autogenerated one by strengthening the return type and params 2 and 3
from rtx to rtx_insn *, and by naming the params.
* gengenrtl.c (special_rtx): Add INSN to those that are
special-cased.
* rtl.h (gen_rtx_INSN): New prototype.
From-SVN: r215083
Diffstat (limited to 'gcc/combine.c')
-rw-r--r-- | gcc/combine.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/gcc/combine.c b/gcc/combine.c index 60524b5..0ec7f85 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -2772,10 +2772,9 @@ try_combine (rtx_insn *i3, rtx_insn *i2, rtx_insn *i1, rtx_insn *i0, never appear in the insn stream so giving it the same INSN_UID as I2 will not cause a problem. */ - i1 = as_a <rtx_insn *> ( - gen_rtx_INSN (VOIDmode, NULL_RTX, i2, BLOCK_FOR_INSN (i2), - XVECEXP (PATTERN (i2), 0, 1), INSN_LOCATION (i2), - -1, NULL_RTX)); + i1 = gen_rtx_INSN (VOIDmode, NULL, i2, BLOCK_FOR_INSN (i2), + XVECEXP (PATTERN (i2), 0, 1), INSN_LOCATION (i2), + -1, NULL_RTX); INSN_UID (i1) = INSN_UID (i2); SUBST (PATTERN (i2), XVECEXP (PATTERN (i2), 0, 0)); |