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