]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-13.c
re PR middle-end/42834 (memcpy folding overeager)
[thirdparty/gcc.git] / gcc / testsuite / gcc.dg / tree-ssa / ssa-fre-13.c
CommitLineData
896c8b96 1/* { dg-do compile } */
5006671f 2/* { dg-options "-O -fstrict-aliasing -fno-tree-sra -fdump-tree-fre-details" } */
896c8b96 3
5006671f 4/* Should be optimized, propagating &a into (*p)[i]. */
896c8b96
RG
5
6/* For this testcase we need TBAA to work. */
7
8struct Foo
9{
10 void *data;
11 int size;
12};
13void foo(double (*q)[4], struct Foo *tmp1)
14{
15 double a[4];
16 int i;
17 tmp1->data = &a;
18 tmp1->size = 4;
19 for (i=0; i<4; ++i)
20 {
21 double (*p)[4] = tmp1->data;
22 (*p)[i] = (*q)[i];
23 }
24}
25
70f34814 26/* { dg-final { scan-tree-dump "Replaced tmp1_.\\\(D\\\)->data with &a" "fre" } } */
896c8b96 27/* { dg-final { cleanup-tree-dump "fre" } } */