xref: /llvm-project/llvm/test/CodeGen/X86/basic-block-address-map-empty-block.ll (revision 7b7747dc1d3da1a829503ea9505b4cecce4f5bda)
1*7b7747dcSRahman Lavaee;; This test verifies that with -gc-empty-basic-blocks SHT_LLVM_BB_ADDR_MAP will not include entries for empty blocks.
2*7b7747dcSRahman Lavaee; RUN: llc < %s -mtriple=x86_64 -O0 -basic-block-address-map -gc-empty-basic-blocks | FileCheck --check-prefix=CHECK %s
3*7b7747dcSRahman Lavaee
4*7b7747dcSRahman Lavaeedefine void @foo(i1 zeroext %0) nounwind {
5*7b7747dcSRahman Lavaee  br i1 %0, label %2, label %empty_block
6*7b7747dcSRahman Lavaee
7*7b7747dcSRahman Lavaee2:                                               ; preds = %1
8*7b7747dcSRahman Lavaee  %3 = call i32 @bar()
9*7b7747dcSRahman Lavaee  br label %4
10*7b7747dcSRahman Lavaee
11*7b7747dcSRahman Lavaeeempty_block:                                     ; preds = %1
12*7b7747dcSRahman Lavaee  unreachable
13*7b7747dcSRahman Lavaee
14*7b7747dcSRahman Lavaee4:                                               ; preds = %2, %empty_block
15*7b7747dcSRahman Lavaee  ret void
16*7b7747dcSRahman Lavaee}
17*7b7747dcSRahman Lavaee
18*7b7747dcSRahman Lavaeedeclare i32 @bar()
19*7b7747dcSRahman Lavaee
20*7b7747dcSRahman Lavaee; CHECK: .section	.llvm_bb_addr_map,"o",@llvm_bb_addr_map,.text
21*7b7747dcSRahman Lavaee; CHECK: .byte	3                               # number of basic blocks
22