aboutsummaryrefslogtreecommitdiff
path: root/gcc/emit-rtl.c
diff options
context:
space:
mode:
authorDavid Malcolm <dmalcolm@redhat.com>2014-08-27 20:30:51 +0000
committerDavid Malcolm <dmalcolm@gcc.gnu.org>2014-08-27 20:30:51 +0000
commit38e60c554d650d2c1fdefea2ba4f70ebf1d31298 (patch)
tree11494656a8b241d4f92fd8d40071e2c4c83d9ade /gcc/emit-rtl.c
parent30db48d9d22e04e7270ba5b204fa74f4c8f9f5e3 (diff)
downloadgcc-38e60c554d650d2c1fdefea2ba4f70ebf1d31298.zip
gcc-38e60c554d650d2c1fdefea2ba4f70ebf1d31298.tar.gz
gcc-38e60c554d650d2c1fdefea2ba4f70ebf1d31298.tar.bz2
Introduce rtx_expr_list subclass of rtx_def
gcc/ 2014-08-27 David Malcolm <dmalcolm@redhat.com> * coretypes.h (class rtx_expr_list): Add forward declaration. * emit-rtl.c (gen_rtx_EXPR_LIST): New. * gengenrtl.c (special_rtx): Add EXPR_LIST. * rtl.h (class rtx_expr_list): New subclass of rtx_def, adding invariant: GET_CODE (X) == EXPR_LIST. (is_a_helper <rtx_expr_list *>::test): New. (rtx_expr_list::next): New. (rtx_expr_list::element): New. (gen_rtx_EXPR_LIST): New. From-SVN: r214601
Diffstat (limited to 'gcc/emit-rtl.c')
-rw-r--r--gcc/emit-rtl.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c
index cffb8db..f5ec8b4 100644
--- a/gcc/emit-rtl.c
+++ b/gcc/emit-rtl.c
@@ -409,6 +409,13 @@ gen_raw_REG (enum machine_mode mode, int regno)
functions do the raw handling. If you add to this list, modify
special_rtx in gengenrtl.c as well. */
+rtx_expr_list *
+gen_rtx_EXPR_LIST (enum machine_mode mode, rtx expr, rtx expr_list)
+{
+ return as_a <rtx_expr_list *> (gen_rtx_fmt_ee (EXPR_LIST, mode, expr,
+ expr_list));
+}
+
rtx_insn_list *
gen_rtx_INSN_LIST (enum machine_mode mode, rtx insn, rtx insn_list)
{