Commit e3bd1763 by Jakub Jelinek Committed by Jakub Jelinek

re PR debug/83621 (ICE: in simplify_subreg, at simplify-rtx.c:6293 with -O -g)

	PR debug/83621
	* cfgexpand.c (expand_debug_expr): Return NULL if mode is
	BLKmode for ternary, binary or unary expressions.

	* gcc.dg/pr83621.c: New test.

From-SVN: r256190
parent e3a174d0
2018-01-03 Jakub Jelinek <jakub@redhat.com>
PR debug/83621
* cfgexpand.c (expand_debug_expr): Return NULL if mode is
BLKmode for ternary, binary or unary expressions.
PR debug/83645
* var-tracking.c (delete_vta_debug_insn): New inline function.
(delete_vta_debug_insns): Add USE_CFG argument, if true, walk just
......
......@@ -4208,6 +4208,8 @@ expand_debug_expr (tree exp)
binary:
case tcc_binary:
if (mode == BLKmode)
return NULL_RTX;
op1 = expand_debug_expr (TREE_OPERAND (exp, 1));
if (!op1)
return NULL_RTX;
......@@ -4232,6 +4234,8 @@ expand_debug_expr (tree exp)
unary:
case tcc_unary:
if (mode == BLKmode)
return NULL_RTX;
inner_mode = TYPE_MODE (TREE_TYPE (TREE_OPERAND (exp, 0)));
op0 = expand_debug_expr (TREE_OPERAND (exp, 0));
if (!op0)
......
2018-01-03 Jakub Jelinek <jakub@redhat.com>
PR debug/83621
* gcc.dg/pr83621.c: New test.
PR debug/83645
* gcc.dg/pr83645.c: New test.
......
/* PR debug/83621 */
/* { dg-do compile } */
/* { dg-options "-O -g" } */
typedef int __attribute__ ((__vector_size__ (64))) V;
V v;
void
foo ()
{
V u = v >> 1;
}
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