Commit 12404d15 by H.J. Lu Committed by H.J. Lu

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
parent f259abd2
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> 2018-11-21 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/87817 PR rtl-optimization/87817
...@@ -272,12 +272,15 @@ apply_subst_iterator (rtx rt, unsigned int, int value) ...@@ -272,12 +272,15 @@ apply_subst_iterator (rtx rt, unsigned int, int value)
rtx new_attr; rtx new_attr;
rtvec attrs_vec, new_attrs_vec; rtvec attrs_vec, new_attrs_vec;
int i; int i;
if (value == 1) /* define_split has no attributes. */
if (value == 1 || GET_CODE (rt) == DEFINE_SPLIT)
return; return;
gcc_assert (GET_CODE (rt) == DEFINE_INSN gcc_assert (GET_CODE (rt) == DEFINE_INSN
|| GET_CODE (rt) == DEFINE_INSN_AND_SPLIT
|| GET_CODE (rt) == DEFINE_EXPAND); || 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 /* If we've already added attribute 'current_iterator_name', then we
have nothing to do now. */ have nothing to do now. */
...@@ -309,7 +312,7 @@ apply_subst_iterator (rtx rt, unsigned int, int value) ...@@ -309,7 +312,7 @@ apply_subst_iterator (rtx rt, unsigned int, int value)
GET_NUM_ELEM (attrs_vec) * sizeof (rtx)); GET_NUM_ELEM (attrs_vec) * sizeof (rtx));
new_attrs_vec->elem[GET_NUM_ELEM (attrs_vec)] = new_attr; 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. */ /* Map subst-attribute ATTR to subst iterator ITER. */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment