2012-12-21 Richard Biener <rguenther@suse.de>
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 21 Dec 2012 10:32:43 +0000 (10:32 +0000)
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 21 Dec 2012 10:32:43 +0000 (10:32 +0000)
PR tree-optimization/52996
* gcc.dg/torture/pr52996.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@194659 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/torture/pr52996.c [new file with mode: 0644]

index b89fa02..a51f09e 100644 (file)
@@ -1,3 +1,8 @@
+2012-12-21  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/52996
+       * gcc.dg/torture/pr52996.c: New testcase.
+
 2012-12-20  Jakub Jelinek  <jakub@redhat.com>
 
        PR middle-end/55750
diff --git a/gcc/testsuite/gcc.dg/torture/pr52996.c b/gcc/testsuite/gcc.dg/torture/pr52996.c
new file mode 100644 (file)
index 0000000..200bc36
--- /dev/null
@@ -0,0 +1,33 @@
+/* { dg-do compile } */\r
+/* { dg-options "-funswitch-loops" } */\r
+\r
+int a, b, c, d, e, f;\r
+void\r
+fn1 ()\r
+{\r
+    int g, h;\r
+lbl_173:\r
+    if (a)\r
+        c++;\r
+lbl_158:\r
+    e = 0;\r
+    h = 0;\r
+    for (; h > -8; h--)\r
+    {\r
+        g = 0;\r
+        for (; g <= 0; g += 1)\r
+        {\r
+            d = 1;\r
+            for (; d >= 0; d -= 1)\r
+                a = 1;\r
+            if (b)\r
+                break;\r
+            if (f)\r
+                return;\r
+            if (h)\r
+                goto lbl_158;\r
+        }\r
+    }\r
+    goto lbl_173;\r
+}\r
+\r