2018-05-15 Richard Biener <rguenther@suse.de>
[official-gcc.git] / gcc / testsuite / gcc.dg / ipa / ipa-icf-1.c
bloba3d88585a9e57c3218511f4897c82d6d59e987c2
1 /* { dg-do compile } */
2 /* { dg-options "-O2 -fdump-ipa-icf" } */
4 #include <stdio.h>
6 struct container
8 int x;
9 int y;
12 static struct container max;
13 static int array[3][3];
14 static int array2[123];
16 __attribute__ ((noinline))
17 void foo(void)
19 printf("Foo()");
22 __attribute__ ((noinline))
23 int order(int x, int y)
25 return x < y ? 2 : 4;
28 __attribute__ ((noinline))
29 int order2(int y, int x)
31 return x < y ? 2 : 4;
34 __attribute__ ((noinline))
35 void x1(int x)
37 int i;
38 for(i = 0; i < 20; ++i)
39 array2[i] = i;
41 array2[2] = 13;
44 __attribute__ ((noinline))
45 void x2(int a)
47 int i;
48 for(i = 0; i < 20; ++i)
49 array2[i] = i;
51 array2[2] = 13;
54 int main(int argc, char **argv)
56 return 0;
59 /* { dg-final { scan-ipa-dump "Semantic equality hit:x1->x2" "icf" } } */
60 /* { dg-final { scan-ipa-dump "Equal symbols: 1" "icf" } } */