2008-03-26 Richard Guenther <rguenther@suse.de>
* gcc.dg/tree-ssa/
20030731-2.c: Scan dce1 dump.
* gcc.dg/tree-ssa/
20030917-1.c: Scan optimized dump.
* gcc.dg/tree-ssa/
20030917-3.c: Scan ccp1 dump.
* gcc.dg/tree-ssa/
20040721-1.c: Test linking, do not disable DOM.
* gcc.dg/tree-ssa/pr21574.c: Scan the fre dump.
* gcc.dg/tree-ssa/ssa-ccp-1.c: Scan ccp1 dump.
* gcc.dg/tree-ssa/ssa-ccp-3.c: Scan ccp2 dump.
From-SVN: r133596
+2008-03-26 Richard Guenther <rguenther@suse.de>
+
+ * gcc.dg/tree-ssa/20030731-2.c: Scan dce1 dump.
+ * gcc.dg/tree-ssa/20030917-1.c: Scan optimized dump.
+ * gcc.dg/tree-ssa/20030917-3.c: Scan ccp1 dump.
+ * gcc.dg/tree-ssa/20040721-1.c: Test linking, do not disable DOM.
+ * gcc.dg/tree-ssa/pr21574.c: Scan the fre dump.
+ * gcc.dg/tree-ssa/ssa-ccp-1.c: Scan ccp1 dump.
+ * gcc.dg/tree-ssa/ssa-ccp-3.c: Scan ccp2 dump.
+
2008-03-26 Douglas Gregor <doug.gregor@gmail.com>
* g++.dg/cpp0x/variadic84.C: Update to reflect the change in
/* { dg-do compile } */
-/* { dg-options "-O2 -fdump-tree-store_ccp" } */
-
+/* { dg-options "-O2 -fdump-tree-dce1" } */
+void
bar (int i, int partial, int args_addr)
{
int offset = 0;
/* There should be only one IF conditional since the first does nothing
useful. */
-/* { dg-final { scan-tree-dump-times "if " 1 "store_ccp"} } */
-/* { dg-final { cleanup-tree-dump "store_ccp" } } */
+/* { dg-final { scan-tree-dump-times "if " 1 "dce1"} } */
+/* { dg-final { cleanup-tree-dump "dce1" } } */
/* { dg-do compile } */
-/* { dg-options "-O2 -fdump-tree-store_ccp" } */
+/* { dg-options "-O2 -fdump-tree-optimized" } */
extern int board[];
}
/* The argument to "foo" should be a variable, not a constant. */
-/* { dg-final { scan-tree-dump-times "foo .defval" 1 "store_ccp"} } */
-/* { dg-final { cleanup-tree-dump "store_ccp" } } */
+/* { dg-final { scan-tree-dump-times "foo .defval" 1 "optimized"} } */
+/* { dg-final { cleanup-tree-dump "optimized" } } */
/* { dg-do compile } */
-/* { dg-options "-O2 -fno-tree-dominator-opts -fdump-tree-store_ccp" } */
+/* { dg-options "-O -fdump-tree-ccp1" } */
extern int printf (const char *, ...);
/* The argument to "printf" should be a constant, not a variable. */
-/* { dg-final { scan-tree-dump-times "printf.*, 0" 1 "store_ccp"} } */
-/* { dg-final { cleanup-tree-dump "store_ccp" } } */
+/* { dg-final { scan-tree-dump-times "printf.*, 0" 1 "ccp1"} } */
+/* { dg-final { cleanup-tree-dump "ccp1" } } */
-/* { dg-do compile } */
-/* { dg-options "-O2 -fno-tree-dominator-opts -fdump-tree-store_ccp-vops" } */
+/* { dg-do link } */
+/* { dg-options "-O2" } */
/* Test to check whether global variables are being
constant propagated. */
+extern void link_error (void);
+
int G;
+void
foo (int i)
{
if (i > 0)
link_error ();
}
+int
main ()
{
foo (0);
return 0;
}
-/* There should be no G on the RHS of an assignment. */
-/* { dg-final { scan-tree-dump-times "= G;" 0 "store_ccp"} } */
-/* { dg-final { cleanup-tree-dump "store_ccp" } } */
/* { dg-do compile } */
-/* { dg-options "-O2 -fno-tree-dominator-opts -fdump-tree-store_ccp" } */
+/* { dg-options "-O -fdump-tree-fre-details" } */
int
foo (int *p)
return *p;
}
-/* The store to *p should be propagated to the return statement. */
-/* { dg-final { scan-tree-dump-times "return 0" 1 "store_ccp" } } */
-/* { dg-final { cleanup-tree-dump "store_ccp" } } */
+/* The store to *p should be propagated to the load statement. */
+/* { dg-final { scan-tree-dump "Replaced \\\*p_.\\\(D\\\) with 0" "fre" } } */
+/* { dg-final { cleanup-tree-dump "fre" } } */
/* { dg-do compile } */
-/* { dg-options "-O2 -fdump-tree-store_ccp" } */
+/* { dg-options "-O -fdump-tree-ccp1" } */
extern void link_error (void);
/* There should be not link_error calls, if there is any the
optimization has failed */
-/* { dg-final { scan-tree-dump-times "link_error" 0 "store_ccp"} } */
-/* { dg-final { cleanup-tree-dump "store_ccp" } } */
+/* { dg-final { scan-tree-dump-times "link_error" 0 "ccp1"} } */
+/* { dg-final { cleanup-tree-dump "ccp1" } } */
/* { dg-do compile } */
-/* { dg-options "-O2 -fdump-tree-store_ccp" } */
+/* { dg-options "-O -fdump-tree-ccp2" } */
extern void link_error (void);
-/* some addresses clearly cannot be equal, check that some address
- expressions can be evaluated as constants */
+/* Some addresses clearly cannot be equal, check that some address
+ expressions can be evaluated as constants.
+ Most of the tests are folding tests, but at least some require
+ points-to analysis, so we scan the first CCP dump after PTA. */
char g1, g2;
void test6 (char p1, char p2)
optimization has failed */
/* ??? While we indeed don't handle some of these, a couple of the
restrict tests are incorrect. */
-/* { dg-final { scan-tree-dump-times "link_error" 0 "store_ccp" { xfail *-*-* } } } */
-/* { dg-final { cleanup-tree-dump "store_ccp" } } */
+/* { dg-final { scan-tree-dump-times "link_error" 0 "ccp2" { xfail *-*-* } } } */
+/* { dg-final { cleanup-tree-dump "ccp2" } } */