annotate gcc/testsuite/gcc.dg/tree-ssa/alias-31.c @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 /* { dg-do compile } */
kono
parents:
diff changeset
2 /* { dg-options "-O2 -fno-tree-sra -fdump-tree-cddce1" } */
kono
parents:
diff changeset
3
kono
parents:
diff changeset
4 extern int posix_memalign(void **memptr,
kono
parents:
diff changeset
5 __SIZE_TYPE__ alignment, __SIZE_TYPE__ size);
kono
parents:
diff changeset
6
kono
parents:
diff changeset
7 int foo (float *p)
kono
parents:
diff changeset
8 {
kono
parents:
diff changeset
9 int res = *p;
kono
parents:
diff changeset
10 struct { void *q1; void *q2; } q;
kono
parents:
diff changeset
11 if (posix_memalign (&q.q1, 128, 128 * sizeof (int)) != 0)
kono
parents:
diff changeset
12 return 0;
kono
parents:
diff changeset
13 if (posix_memalign (&q.q2, 128, 128 * sizeof (int)) != 0)
kono
parents:
diff changeset
14 return 0;
kono
parents:
diff changeset
15 *((int *)q.q1) = 1;
kono
parents:
diff changeset
16 *((int *)q.q2) = 2;
kono
parents:
diff changeset
17 return res + *p + *((int *)q.q1) + *((int *)q.q2);
kono
parents:
diff changeset
18 }
kono
parents:
diff changeset
19
kono
parents:
diff changeset
20 /* There should be only one load from *p left. All stores and all
kono
parents:
diff changeset
21 other loads should be removed. */
kono
parents:
diff changeset
22
kono
parents:
diff changeset
23 /* { dg-final { scan-tree-dump-times "\\\*\[^ \]" 1 "cddce1" } } */