From 9de8fa8052154a83b82f8b3785ec100d8cb24261 Mon Sep 17 00:00:00 2001 From: Jan Hubicka Date: Thu, 24 Sep 2020 15:10:04 +0200 Subject: [PATCH] Add modref testcase * gcc.dg/tree-ssa/modref-1.c: New test. --- gcc/testsuite/gcc.dg/tree-ssa/modref-1.c | 45 ++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 gcc/testsuite/gcc.dg/tree-ssa/modref-1.c 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"} } */ -- 2.30.2