ivopts-1.c: New test.
authorZdenek Dvorak <dvorakz@suse.cz>
Sun, 24 Sep 2006 19:11:16 +0000 (21:11 +0200)
committerAdam Nemet <nemet@gcc.gnu.org>
Sun, 24 Sep 2006 19:11:16 +0000 (19:11 +0000)
* gcc.dg/tree-ssa/ivopts-1.c: New test.
* gcc.dg/tree-ssa/ivopts-2.c: New test.

Co-Authored-By: Adam Nemet <anemet@caviumnetworks.com>
From-SVN: r117183

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/tree-ssa/ivopts-1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/ivopts-2.c [new file with mode: 0644]

index 93aa08ae7a7d2667c10a11e945388c983d4cdfe8..5a99e5a8b3004118d3a6fbd2d1c3e523a16283c9 100644 (file)
@@ -1,3 +1,9 @@
+2006-09-24  Zdenek Dvorak <dvorakz@suse.cz>
+           Adam Nemet  <anemet@caviumnetworks.com>
+
+       * gcc.dg/tree-ssa/ivopts-1.c: New test.
+       * gcc.dg/tree-ssa/ivopts-2.c: New test.
+       
 2006-09-24  Kazu Hirata  <kazu@codesourcery.com>
 
        PR target/28911
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ivopts-1.c b/gcc/testsuite/gcc.dg/tree-ssa/ivopts-1.c
new file mode 100644 (file)
index 0000000..5ee87b0
--- /dev/null
@@ -0,0 +1,26 @@
+/* { dg-do compile } */
+
+/* Not all platforms support TImode integers.  */
+#if defined(__LP64__) && !defined(__hppa__)
+typedef int TItype __attribute__ ((mode (TI)));
+#else
+typedef long TItype;
+#endif
+
+TItype last_data_offset ;
+int store;
+char *data;
+
+f ()
+{
+
+  TItype data_offset = last_data_offset;
+  char *p;
+
+  for (p = data; *p; p++)
+    {
+      data_offset++;
+      g (data_offset);
+      store = data_offset + 1;
+    }
+}
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ivopts-2.c b/gcc/testsuite/gcc.dg/tree-ssa/ivopts-2.c
new file mode 100644 (file)
index 0000000..05c62bd
--- /dev/null
@@ -0,0 +1,24 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -fdump-tree-ivopts-details" } */
+
+long last_data_offset;
+int store;
+char *data;
+  
+f ()
+{
+  
+  long data_offset = last_data_offset;
+  char *p;
+  
+  for (p = data; *p; p++)
+    {
+      data_offset++;
+      g (data_offset);
+      store = data_offset + 1;
+    }
+}
+
+/* We should only have two IVs.  */
+/* { dg-final { scan-tree-dump-not "\\n  candidates .*,.*,.*\\n\[^\\n\]*\\nFinal cost" "ivopts" } }  */
+/* { dg-final { cleanup-tree-dump "ivopts" } }  */