(root)/
gcc-13.2.0/
gcc/
testsuite/
g++.dg/
ipa/
ipa-icf-3.C
/* { dg-do compile } */
/* { dg-options "-O2 -fdump-ipa-icf-optimized"  } */

__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"  } } */