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