blob: d5ce5eb18f4b35b3ce2dba67ef2a868d9de2f8ac [file] [log] [blame]
/* { dg-do compile } */
/* { dg-additional-options "-O2 -fdump-ipa-icf-optimized" } */
/* Picking 'main' as a candiate target for equivalent functios is not a
good idea. */
int baz (int);
int foo ()
{
return baz (baz (0));
}
int main ()
{
return baz (baz (0));
}
/* Notice the two functions are the same. */
/* { dg-final { scan-ipa-dump "Semantic equality hit:foo/\[0-9+\]+->main/\[0-9+\]+" "icf" } } */
/* Make sure we don't tail call main. */
/* { dg-final { scan-ipa-dump-not "= main \\(\\);" "icf" } } */
/* Make sure we tail call foo. */
/* { dg-final { scan-ipa-dump "= foo \\(\\);" "icf" } } */