1/* { dg-do compile } */ 2/* { dg-options "-O2 -fdump-ipa-icf -fno-inline" } */ 3 4void destroy (void) 5{ 6 __asm__ __volatile__ ("" : : : "memory"); 7} 8 9void remove (void) 10{ 11 __asm__ __volatile__ ("" : : : "memory"); 12} 13 14void remove2 (void) 15{ 16 __asm__ __volatile__ ("" : : : ); 17} 18 19int main() 20{ 21 destroy (); 22 remove (); 23 remove2 (); 24 25 return 0; 26} 27 28/* { dg-final { scan-ipa-dump "Semantic equality hit:remove->destroy" "icf" } } */ 29/* { dg-final { scan-ipa-dump "Equal symbols: 1" "icf" } } */ 30/* { dg-final { cleanup-ipa-dump "icf" } } */ 31