llvm-project/bolt/test/bolt-icf.test

18 lines
630 B
Plaintext

# 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