| # Check for the replacement of calls to identical functions. |
| |
| REQUIRES: system-linux |
| |
| RUN: %clangxx %p/Inputs/bolt_icf.cpp -g -Wl,-q -o %t.exe |
| RUN: llvm-bolt %t.exe --relocs -o %t --icf 2>&1 | FileCheck %s |
| RUN: llvm-nm -n %t | FileCheck %s -check-prefix=CHECK-SYM |
| |
| CHECK: BOLT-INFO: ICF folded [[#]] out of [[#]] functions in [[#]] passes. |
| |
| # Check that symbols are updated correctly in the symbol table |
| CHECK-SYM-DAG: [[#%x,FIZ:]] T _Z3fizv |
| CHECK-SYM-DAG: [[#FIZ]] T _Z3fazv |
| CHECK-SYM-DAG: [[#%x,ZIP:]] T _Z3zipv |
| CHECK-SYM-DAG: [[#ZIP]] T _Z3zapv |
| CHECK-SYM-DAG: [[#%x,FOO:]] T _Z3foov |
| CHECK-SYM-DAG: [[#FOO]] T _Z3barv |