xref: /llvm-project/bolt/test/X86/jump-table-footprint-reduction.test (revision 11791ae7b0b05b8bd8d806331ff51da618912cf8)
1*11791ae7SSayhaan Siddiqui## Checks that jump table footprint reduction optimization is reducing entry
2*11791ae7SSayhaan Siddiqui## sizes.
38331f75eSAmir Ayupov
48331f75eSAmir AyupovRUN: llvm-mc -filetype=obj -triple x86_64-unknown-unknown \
58331f75eSAmir AyupovRUN:   %S/Inputs/jump_table_footprint_reduction.s -o %t.o
6b8a63455SRafael AulerRUN: link_fdata %S/Inputs/jump_table_footprint_reduction.s %t.o %t.fdata --nmtool llvm-nm
78331f75eSAmir AyupovRUN: llvm-strip --strip-unneeded %t.o
8487570fbSAmir AyupovRUN: %clang %cflags -no-pie %t.o -o %t.exe -Wl,-q
9ab14eb23SAmir AyupovRUN: llvm-bolt %t.exe --data %t.fdata -o %t.null \
10d648aa1bSMaksim PanchenkoRUN:   --jump-tables=move --jt-footprint-reduction --assume-abi --relocs \
118331f75eSAmir AyupovRUN:   | FileCheck %s
128331f75eSAmir Ayupov
138331f75eSAmir AyupovCHECK: 100.00% of dynamic JT entries were reduced.
148331f75eSAmir AyupovCHECK: 1 of 1 jump tables affected.
158331f75eSAmir AyupovCHECK: 1 of 1 indirect jumps to JTs affected.
168331f75eSAmir AyupovCHECK: 36 bytes saved.
17