xref: /llvm-project/bolt/test/X86/remove-unused.test (revision 11791ae7b0b05b8bd8d806331ff51da618912cf8)
1*11791ae7SSayhaan Siddiqui## Verifies that llvm-bolt is able to remove dead basic blocks. Also check that
2*11791ae7SSayhaan Siddiqui## the BB reordering ignores dead BBs.
38331f75eSAmir Ayupov
48331f75eSAmir AyupovRUN: llvm-mc -filetype=obj -triple x86_64-unknown-unknown %S/Inputs/entry.s -o %t.o
5b8a63455SRafael AulerRUN: link_fdata %S/Inputs/entry.s %t.o %t.fdata --nmtool llvm-nm
68331f75eSAmir AyupovRUN: llvm-strip --strip-unneeded %t.o
78331f75eSAmir AyupovRUN: %clang %cflags %t.o -o %t.exe -Wl,-q -nostdlib
8d648aa1bSMaksim PanchenkoRUN: llvm-bolt %t.exe --data %t.fdata -o %t --funcs=_start \
9d648aa1bSMaksim PanchenkoRUN:   --eliminate-unreachable --reorder-blocks=none \
10d648aa1bSMaksim PanchenkoRUN:   --print-finalized --sequential-disassembly 2>&1 | FileCheck %s
118331f75eSAmir Ayupov
12*11791ae7SSayhaan Siddiqui## Optimized
138331f75eSAmir AyupovCHECK:  BB Layout : .LBB00, .Ltmp0, .Ltmp2, .Ltmp3, .Ltmp4, .Ltmp5, .Ltmp6, .Ltmp7, .Ltmp8, .Ltmp9, .Ltmp10, .Ltmp11
14