diff options
author | H.J. Lu <hongjiu.lu@intel.com> | 2018-11-21 13:08:26 +0000 |
---|---|---|
committer | H.J. Lu <hjl@gcc.gnu.org> | 2018-11-21 05:08:26 -0800 |
commit | 12404d1594873bc7cc70c6c10300b5c5fcf6ab1f (patch) | |
tree | 68897d0f4ccae70a608cdcf2c71a864db1dc7ec2 /gcc | |
parent | f259abd260739aca06f8760dcbc0a1a567018ff2 (diff) | |
download | gcc-12404d1594873bc7cc70c6c10300b5c5fcf6ab1f.zip gcc-12404d1594873bc7cc70c6c10300b5c5fcf6ab1f.tar.gz gcc-12404d1594873bc7cc70c6c10300b5c5fcf6ab1f.tar.bz2 |
apply_subst_iterator: Handle define_split/define_insn_and_split
* read-rtl.c (apply_subst_iterator): Handle define_split and
define_insn_and_split.
From-SVN: r266341
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/read-rtl.c | 9 |
2 files changed, 11 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 005ce0f..2728ccbe 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2018-11-21 H.J. Lu <hongjiu.lu@intel.com> + + * read-rtl.c (apply_subst_iterator): Handle define_split and + define_insn_and_split. + 2018-11-21 Jakub Jelinek <jakub@redhat.com> PR rtl-optimization/87817 diff --git a/gcc/read-rtl.c b/gcc/read-rtl.c index d698dd4..dfe22d3 100644 --- a/gcc/read-rtl.c +++ b/gcc/read-rtl.c @@ -272,12 +272,15 @@ apply_subst_iterator (rtx rt, unsigned int, int value) rtx new_attr; rtvec attrs_vec, new_attrs_vec; int i; - if (value == 1) + /* define_split has no attributes. */ + if (value == 1 || GET_CODE (rt) == DEFINE_SPLIT) return; gcc_assert (GET_CODE (rt) == DEFINE_INSN + || GET_CODE (rt) == DEFINE_INSN_AND_SPLIT || GET_CODE (rt) == DEFINE_EXPAND); - attrs_vec = XVEC (rt, 4); + int attrs = GET_CODE (rt) == DEFINE_INSN_AND_SPLIT ? 7 : 4; + attrs_vec = XVEC (rt, attrs); /* If we've already added attribute 'current_iterator_name', then we have nothing to do now. */ @@ -309,7 +312,7 @@ apply_subst_iterator (rtx rt, unsigned int, int value) GET_NUM_ELEM (attrs_vec) * sizeof (rtx)); new_attrs_vec->elem[GET_NUM_ELEM (attrs_vec)] = new_attr; } - XVEC (rt, 4) = new_attrs_vec; + XVEC (rt, attrs) = new_attrs_vec; } /* Map subst-attribute ATTR to subst iterator ITER. */ |