xref: /llvm-project/bolt/test/X86/icf-jump-tables.test (revision 887f7002b65f7376c7a5004535bd08c95bdaa8f8)
1bbbd159cSMaksim Panchenko## Check that BOLT folds functions with jump tables and does not report
2bbbd159cSMaksim Panchenko## undefined symbols.
3bbbd159cSMaksim Panchenko
4bbbd159cSMaksim Panchenko# REQUIRES: system-linux
5bbbd159cSMaksim Panchenko
6506a91c0SVladislav Khmelevsky# RUN: %clang %cflags -O1 -g %p/../Inputs/icf-jump-tables.c -o %t.exe -Wl,-q
7*887f7002SConnie# RUN: llvm-bolt %t.exe --icf -o %t.bolt 2>&1 | FileCheck %s
8bbbd159cSMaksim Panchenko
9bbbd159cSMaksim Panchenko## Check that BOLT successfully folded a function with jump table:
10f46af9e9SMaksim Panchenko# CHECK: ICF folded {{.*}}. {{[^0]}} functions had jump tables.
11bbbd159cSMaksim Panchenko
12bbbd159cSMaksim Panchenko## Check that no relocations against undefined symbols were emitted:
13bbbd159cSMaksim Panchenko# CHECK-NOT: Undefined temporary symbol
14