1 /* { dg-do compile } */
2 /* { dg-options "-O2 -fdump-ipa-icf"  } */
3 
4 __attribute__ ((noinline))
fce(int a,int b)5 int fce(int a, int b)
6 {
7   return a + b;
8 }
9 
10 __attribute__ ((noinline))
f0(int a)11 int f0(int a)
12 {
13   return fce(a, 5) + fce(a, 7);
14 }
15 
16 __attribute__ ((noinline))
f1(int a)17 int f1(int a)
18 {
19   return fce(a, 5) + fce(a, 7);
20 }
21 
main(int argc,char ** argv)22 int main(int argc, char **argv)
23 {
24   return f0(argc) * f1(argc);
25 }
26 
27 /* { dg-final { scan-ipa-dump "Semantic equality hit:f0->f1" "icf"  } } */
28 /* { dg-final { scan-ipa-dump "Equal symbols: 1" "icf"  } } */
29