/* { dg-do compile } */ /* { dg-options "-O2 -fdump-ipa-icf -fno-inline" } */ void destroy (void) { __asm__ __volatile__ ("" : : : "memory"); } void remove (void) { __asm__ __volatile__ ("" : : : "memory"); } void remove2 (void) { __asm__ __volatile__ ("" : : : ); } int main() { destroy (); remove (); remove2 (); return 0; } /* { dg-final { scan-ipa-dump "Semantic equality hit:destroy->remove" "icf" } } */ /* { dg-final { scan-ipa-dump "Equal symbols: 1" "icf" } } */