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
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
binary:
case tcc_binary:
+ if (mode == BLKmode)
+ return NULL_RTX;
op1 = expand_debug_expr (TREE_OPERAND (exp, 1));
if (!op1)
return NULL_RTX;
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.
--- /dev/null
+/* 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;
+}