diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index a3c9f61fdbd926e9e0631c3071b1bf695ed77fb7..ab552be3bb0de7fb5c4e82184002d9d37745d9be 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2012-07-06 Tom de Vries <tom@codesourcery.com> + + PR tree-optimization/52009 + * gcc.dg/pr51879-7.c: New test. + * gcc.dg/pr51879-18.c: New test. + 2012-07-05 Jason Merrill <jason@redhat.com> PR c++/50852 diff --git a/gcc/testsuite/gcc.dg/pr51879-18.c b/gcc/testsuite/gcc.dg/pr51879-18.c new file mode 100644 index 0000000000000000000000000000000000000000..95629f12261d79482c4a510c8cbea9edde575d32 --- /dev/null +++ b/gcc/testsuite/gcc.dg/pr51879-18.c @@ -0,0 +1,17 @@ +/* { dg-do compile } */ +/* { dg-options "-O2 -fdump-tree-pre -fno-tree-copy-prop -fno-tree-dominator-opts -fno-tree-copyrename" } */ + +extern int foo (void); + +void bar (int c, int *p) +{ + int *q = p; + + if (c) + *p = foo (); + else + *q = foo (); +} + +/* { dg-final { scan-tree-dump-times "foo \\(" 1 "pre"} } */ +/* { dg-final { cleanup-tree-dump "pre" } } */ diff --git a/gcc/testsuite/gcc.dg/pr51879-7.c b/gcc/testsuite/gcc.dg/pr51879-7.c new file mode 100644 index 0000000000000000000000000000000000000000..6c1d3209c929a719acc14a3b89e98128f427dbab --- /dev/null +++ b/gcc/testsuite/gcc.dg/pr51879-7.c @@ -0,0 +1,18 @@ +/* { dg-do compile } */ +/* { dg-options "-O2 -fdump-tree-pre" } */ + +int bar (int); + +int z; + +void +foo (int y) +{ + if (y == 6) + z = 5; + else + z = 5; +} + +/* { dg-final { scan-tree-dump-times "z = 5" 1 "pre"} } */ +/* { dg-final { cleanup-tree-dump "pre" } } */