/* { dg-do compile } */ /* { dg-options "-O2 -fdump-ipa-icf" } */ __attribute__ ((noinline)) int zero() { return 0; } __attribute__ ((noinline)) int nula() { return 0; } __attribute__ ((noinline)) int foo() { return zero(); } __attribute__ ((noinline)) int bar() { return nula(); } int main() { return foo() + bar(); } /* { dg-final { scan-ipa-dump "Semantic equality hit:.*bar.*->.*foo.*" "icf" } } */ /* { dg-final { scan-ipa-dump "Semantic equality hit:.*nula.*->.*zero.*" "icf" } } */ /* { dg-final { scan-ipa-dump "Equal symbols: 2" "icf" } } */ /* { dg-final { cleanup-ipa-dump "icf" } } */