Commit 3f3af9df by Jakub Jelinek Committed by Jakub Jelinek

re PR middle-end/50754 (ICE in expand_debug_expr, at cfgexpand.c:3341)

	PR middle-end/50754
	* cfgexpand.c (expand_debug_expr): Handle WIDEN_LSHIFT_EXPR, ignore
	VEC_PERM_EXPR.

From-SVN: r180201
parent da004dac
2011-10-19 Jakub Jelinek <jakub@redhat.com>
PR middle-end/50754
* cfgexpand.c (expand_debug_expr): Handle WIDEN_LSHIFT_EXPR, ignore
VEC_PERM_EXPR.
2011-10-19 Bernd Schmidt <bernds@codesourcery.com> 2011-10-19 Bernd Schmidt <bernds@codesourcery.com>
* regrename.h: New file. * regrename.h: New file.
...@@ -3267,6 +3267,7 @@ expand_debug_expr (tree exp) ...@@ -3267,6 +3267,7 @@ expand_debug_expr (tree exp)
case VEC_WIDEN_MULT_LO_EXPR: case VEC_WIDEN_MULT_LO_EXPR:
case VEC_WIDEN_LSHIFT_HI_EXPR: case VEC_WIDEN_LSHIFT_HI_EXPR:
case VEC_WIDEN_LSHIFT_LO_EXPR: case VEC_WIDEN_LSHIFT_LO_EXPR:
case VEC_PERM_EXPR:
return NULL; return NULL;
/* Misc codes. */ /* Misc codes. */
...@@ -3321,6 +3322,7 @@ expand_debug_expr (tree exp) ...@@ -3321,6 +3322,7 @@ expand_debug_expr (tree exp)
return NULL; return NULL;
case WIDEN_SUM_EXPR: case WIDEN_SUM_EXPR:
case WIDEN_LSHIFT_EXPR:
if (SCALAR_INT_MODE_P (GET_MODE (op0)) if (SCALAR_INT_MODE_P (GET_MODE (op0))
&& SCALAR_INT_MODE_P (mode)) && SCALAR_INT_MODE_P (mode))
{ {
...@@ -3329,7 +3331,8 @@ expand_debug_expr (tree exp) ...@@ -3329,7 +3331,8 @@ expand_debug_expr (tree exp)
0))) 0)))
? ZERO_EXTEND : SIGN_EXTEND, mode, op0, ? ZERO_EXTEND : SIGN_EXTEND, mode, op0,
inner_mode); inner_mode);
return simplify_gen_binary (PLUS, mode, op0, op1); return simplify_gen_binary (TREE_CODE (exp) == WIDEN_LSHIFT_EXPR
? ASHIFT : PLUS, mode, op0, op1);
} }
return NULL; return 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