Commit 21fc3950 by Eric Botcazou Committed by Eric Botcazou

re PR middle-end/68291 (ICE in emit_move_insn, at expr.c:3540)

	PR middle-end/68291
	PR middle-end/68292
	* cfgexpand.c (set_rtl): Always accept mode mismatch for SSA names
	with BLKmode promoted mode based on RESULT_DECLs.

From-SVN: r231422
parent 2f0ce51a
2015-12-08 Eric Botcazou <ebotcazou@adacore.com>
PR middle-end/68291
PR middle-end/68292
* cfgexpand.c (set_rtl): Always accept mode mismatch for SSA names
with BLKmode promoted mode based on RESULT_DECLs.
2015-12-08 Uros Bizjak <ubizjak@gmail.com> 2015-12-08 Uros Bizjak <ubizjak@gmail.com>
PR target/68701 PR target/68701
...@@ -203,11 +203,14 @@ set_rtl (tree t, rtx x) ...@@ -203,11 +203,14 @@ set_rtl (tree t, rtx x)
PARM_DECLs and RESULT_DECLs, we'll have been called by PARM_DECLs and RESULT_DECLs, we'll have been called by
set_parm_rtl, which will give us the default def, so we don't set_parm_rtl, which will give us the default def, so we don't
have to compute it ourselves. For RESULT_DECLs, we accept mode have to compute it ourselves. For RESULT_DECLs, we accept mode
mismatches too, as long as we're not coalescing across variables, mismatches too, as long as we have BLKmode or are not coalescing
so that we don't reject BLKmode PARALLELs or unpromoted REGs. */ across variables, so that we don't reject BLKmode PARALLELs or
unpromoted REGs. */
gcc_checking_assert (!x || x == pc_rtx || TREE_CODE (t) != SSA_NAME gcc_checking_assert (!x || x == pc_rtx || TREE_CODE (t) != SSA_NAME
|| (SSAVAR (t) && TREE_CODE (SSAVAR (t)) == RESULT_DECL || (SSAVAR (t)
&& !flag_tree_coalesce_vars) && TREE_CODE (SSAVAR (t)) == RESULT_DECL
&& (promote_ssa_mode (t, NULL) == BLKmode
|| !flag_tree_coalesce_vars))
|| !use_register_for_decl (t) || !use_register_for_decl (t)
|| GET_MODE (x) == promote_ssa_mode (t, NULL)); || GET_MODE (x) == promote_ssa_mode (t, NULL));
......
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