i386.c (ix86_expand_call): Avoid nested PARALLEL in returned call value.

* config/i386/i386.c (ix86_expand_call): Avoid nested
	PARALLEL in returned call value.

From-SVN: r221851
This commit is contained in:
Ilya Enkovich 2015-04-03 08:51:26 +00:00 committed by Ilya Enkovich
parent a3d72251cc
commit fad71ff5e7
2 changed files with 18 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
* config/i386/i386.c (ix86_expand_call): Avoid nested
PARALLEL in returned call value.
2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
* lto-cgraph.c (input_cgraph_1): Always link instrumented

View File

@ -25624,8 +25624,19 @@ ix86_expand_call (rtx retval, rtx fnaddr, rtx callarg1,
{
rtx b0 = gen_rtx_REG (BND64mode, FIRST_BND_REG);
rtx b1 = gen_rtx_REG (BND64mode, FIRST_BND_REG + 1);
retval = gen_rtx_PARALLEL (VOIDmode, gen_rtvec (3, retval, b0, b1));
chkp_put_regs_to_expr_list (retval);
if (GET_CODE (retval) == PARALLEL)
{
b0 = gen_rtx_EXPR_LIST (VOIDmode, b0, const0_rtx);
b1 = gen_rtx_EXPR_LIST (VOIDmode, b1, const0_rtx);
rtx par = gen_rtx_PARALLEL (VOIDmode, gen_rtvec (2, b0, b1));
retval = chkp_join_splitted_slot (retval, par);
}
else
{
retval = gen_rtx_PARALLEL (VOIDmode,
gen_rtvec (3, retval, b0, b1));
chkp_put_regs_to_expr_list (retval);
}
}
call = gen_rtx_SET (VOIDmode, retval, call);