re PR debug/49496 (-fcompare-debug failure (length) with -O -ftree-vectorize)
authorJakub Jelinek <jakub@redhat.com>
Wed, 22 Jun 2011 20:37:54 +0000 (22:37 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Wed, 22 Jun 2011 20:37:54 +0000 (22:37 +0200)
PR debug/49496
* tree-vect-patterns.c (vect_recog_widen_mult_pattern): Ignore debug
uses.

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

From-SVN: r175314

gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/pr49496.c [new file with mode: 0644]
gcc/tree-vect-patterns.c

index bfb27d6ee22a6f2d2b20c451d019dfeaaa72c011..5b5964db18a33f22ab44cb99a7dbce0fb9ccd3d5 100644 (file)
@@ -1,3 +1,9 @@
+2011-06-22  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/49496
+       * tree-vect-patterns.c (vect_recog_widen_mult_pattern): Ignore debug
+       uses.
+
 2011-06-22  Richard Guenther  <rguenther@suse.de>
 
        PR tree-optimization/49493
index 691f088b1cfa3cb87d8011f3a2a9e70439c20aa9..61ccb064b83b0e55029f672c6246a02088e2f77b 100644 (file)
@@ -1,3 +1,8 @@
+2011-06-22  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/49496
+       * gcc.dg/pr49496.c: New test.
+
 2011-06-22  Janis Johnson  <janisjo@codesourcery.com>
 
        * gcc.target/arm/scd42-3.c: Allow -march-xscale; skip if -mcpu
diff --git a/gcc/testsuite/gcc.dg/pr49496.c b/gcc/testsuite/gcc.dg/pr49496.c
new file mode 100644 (file)
index 0000000..06563f3
--- /dev/null
@@ -0,0 +1,20 @@
+/* PR debug/49496 */
+/* { dg-do compile } */
+/* { dg-options "-O3 -fcompare-debug" } */
+
+unsigned short u[8], s1[8], s2[8];
+
+void bar (unsigned short *);
+
+void
+foo (void)
+{
+  unsigned short e[8];
+  int i;
+  for (i = 0; i < 8; i++)
+    {
+      int tmp = s1[i] * s2[i];
+      e[i] = (tmp & 0xffff0000) >> 16;
+    }
+  bar (e);
+}
index ce941425e0c0137afaeed3bccf0c24569357c329..429dd87cfffb955568ffcb5dad07e81b67a0ce85 100644 (file)
@@ -1,5 +1,6 @@
 /* Analysis Utilities for Loop Vectorization.
-   Copyright (C) 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+   Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011
+   Free Software Foundation, Inc.
    Contributed by Dorit Nuzman <dorit@il.ibm.com>
 
 This file is part of GCC.
@@ -557,6 +558,8 @@ vect_recog_widen_mult_pattern (VEC (gimple, heap) **stmts,
 
       FOR_EACH_IMM_USE_FAST (use_p, imm_iter, lhs)
         {
+         if (is_gimple_debug (USE_STMT (use_p)))
+           continue;
           use_stmt = USE_STMT (use_p);
           nuses++;
         }