summaryrefslogtreecommitdiff
path: root/gcc/emit-rtl.c
diff options
context:
space:
mode:
authorDavid Malcolm <dmalcolm@redhat.com>2014-09-09 15:14:03 +0000
committerDavid Malcolm <dmalcolm@gcc.gnu.org>2014-09-09 15:14:03 +0000
commitd6e1e8b8d1663dd2b25bc9e27ca099568848c641 (patch)
treee9fd85a935c135494fbf5adfc6fce9d4b291818a /gcc/emit-rtl.c
parent0cc97fc5522a17788b0d47550f37d592ffca56ff (diff)
downloadgcc-d6e1e8b8d1663dd2b25bc9e27ca099568848c641.tar.gz
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/emit-rtl.c')
-rw-r--r--gcc/emit-rtl.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c
index e3df826fda2..0acdd08bda4 100644
--- a/gcc/emit-rtl.c
+++ b/gcc/emit-rtl.c
@@ -424,6 +424,17 @@ gen_rtx_INSN_LIST (enum machine_mode mode, rtx insn, rtx insn_list)
insn_list));
}
+rtx_insn *
+gen_rtx_INSN (enum machine_mode mode, rtx_insn *prev_insn, rtx_insn *next_insn,
+ basic_block bb, rtx pattern, int location, int code,
+ rtx reg_notes)
+{
+ return as_a <rtx_insn *> (gen_rtx_fmt_uuBeiie (INSN, mode,
+ prev_insn, next_insn,
+ bb, pattern, location, code,
+ reg_notes));
+}
+
rtx
gen_rtx_CONST_INT (enum machine_mode mode ATTRIBUTE_UNUSED, HOST_WIDE_INT arg)
{