[PATCH 1/2] apply_subst_iterator: Handle define_insn_and_split
H.J. Lu
hjl.tools@gmail.com
Fri Oct 26 06:53:00 GMT 2018
* read-rtl.c (apply_subst_iterator): Handle define_insn_and_split.
---
gcc/read-rtl.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/gcc/read-rtl.c b/gcc/read-rtl.c
index d698dd4af4d..5957c29671a 100644
--- a/gcc/read-rtl.c
+++ b/gcc/read-rtl.c
@@ -275,9 +275,11 @@ apply_subst_iterator (rtx rt, unsigned int, int value)
if (value == 1)
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 +311,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. */
--
2.17.2
More information about the Gcc-patches
mailing list