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