From: Jan Hubicka Date: Thu, 24 Sep 2020 13:10:04 +0000 (+0200) Subject: Add modref testcase X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=9de8fa8052154a83b82f8b3785ec100d8cb24261;p=gcc.git Add modref testcase * gcc.dg/tree-ssa/modref-1.c: New test. --- diff --git a/gcc/testsuite/gcc.dg/tree-ssa/modref-1.c b/gcc/testsuite/gcc.dg/tree-ssa/modref-1.c new file mode 100644 index 00000000000..a80ca6b67c4 --- /dev/null +++ b/gcc/testsuite/gcc.dg/tree-ssa/modref-1.c @@ -0,0 +1,45 @@ +/* { dg-do compile } */ +/* { dg-options "-O2 -fdump-tree-optimized" } */ +int p,q,r,s,*ptr=&q, *ptr2=&p; +__attribute__ ((noinline)) +int +test (int *p) +{ + *p = 1; +} +int +test1() +{ + q = 123; + test(&p); + return q; +} +int +test2() +{ + int *ptr = p ? &q : &s; + *ptr = 124; + test(&p); + return *ptr; +} +int +test3() +{ + int *ptr = p ? &p : &s; + q = 125; + test(ptr); + return q; +} +int +test4() +{ + int *ptr1 = p ? &q : &s; + int *ptr = p ? &r : &p; + *ptr1 = 126; + test(ptr); + return *ptr1; +} +/* { dg-final { scan-tree-dump "return 123" "optimized"} } */ +/* { dg-final { scan-tree-dump "return 124" "optimized"} } */ +/* { dg-final { scan-tree-dump "return 125" "optimized"} } */ +/* { dg-final { scan-tree-dump "return 126" "optimized"} } */