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