brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.7 KiB · aeb6dc9 Raw
80 lines · plain
1;; Check that the -basic-block-address-map option works when used along with -basic-block-sections.2;; Let a function with 4 basic blocks get split into 2 sections.3; RUN: echo '!_Z3bazb' > %t4; RUN: echo '!!0 2' >> %t5; RUN: llc < %s -mtriple=x86_64 -basic-block-address-map -basic-block-sections=%t | FileCheck %s6 7define void @_Z3bazb(i1 zeroext) personality ptr @__gxx_personality_v0 {8  br i1 %0, label %2, label %79 102:11  %3 = invoke i32 @_Z3barv()12          to label %7 unwind label %513  br label %914 155:16  landingpad { ptr, i32 }17          catch ptr null18  br label %919 207:21  %8 = call i32 @_Z3foov()22  br label %923 249:25  ret void26}27 28declare i32 @_Z3barv() #129 30declare i32 @_Z3foov() #131 32declare i32 @__gxx_personality_v0(...)33 34; CHECK:		.text35; CHECK-LABEL:	_Z3bazb:36; CHECK-LABEL:	.Lfunc_begin0:37; CHECK-LABEL:	.LBB_END0_0:38; CHECK-LABEL:	.LBB0_1:39; CHECK-LABEL:	.LBB_END0_1:40; CHECK:		.section .text.split._Z3bazb,"ax",@progbits41; CHECK-LABEL:	_Z3bazb.cold:42; CHECK-LABEL:  .LBB0_2_CS0:43; CHECK-LABEL:	.LBB_END0_2:44; CHECK-LABEL:	.LBB0_3:45; CHECK-LABEL:  .LBB0_3_CS0:46; CHECK-LABEL:	.LBB_END0_3:47; CHECK-LABEL:	.Lfunc_end0:48 49; CHECK:		.section	.llvm_bb_addr_map,"o",@llvm_bb_addr_map,.text.hot._Z3bazb50; CHECK-NEXT:   .byte   4                       # version51; CHECK-NEXT:   .byte   40                      # feature52; CHECK-NEXT:   .byte   2                       # number of basic block ranges53; CHECK-NEXT:	.quad	.Lfunc_begin0           # base address54; CHECK-NEXT:	.byte	2                       # number of basic blocks55; CHECK-NEXT:   .byte	0                       # BB id56; CHECK-NEXT:   .uleb128 .Lfunc_begin0-.Lfunc_begin057; CHECK-NEXT:   .byte   0                       # number of callsites58; CHECK-NEXT:   .uleb128 .LBB_END0_0-.Lfunc_begin059; CHECK-NEXT:   .byte   060; CHECK-NEXT:   .byte   2                       # BB id61; CHECK-NEXT:   .uleb128 .LBB0_1-.LBB_END0_062; CHECK-NEXT:   .byte   0                       # number of callsites63; CHECK-NEXT:   .uleb128 .LBB_END0_1-.LBB0_164; CHECK-NEXT:   .byte   565; CHECK-NEXT:   .quad	_Z3bazb.cold            # base address66; CHECK-NEXT:   .byte	2                       # number of basic blocks67; CHECK-NEXT:   .byte	1                       # BB id68; CHECK-NEXT:   .uleb128 _Z3bazb.cold-_Z3bazb.cold69; CHECK-NEXT:   .byte	1                       # number of callsites70; CHECK-NEXT:   .uleb128 .LBB0_2_CS0-_Z3bazb.cold71; CHECK-NEXT:   .uleb128 .LBB_END0_2-.LBB0_2_CS072; CHECK-NEXT:   .byte	873; CHECK-NEXT:   .byte	3                       # BB id74; CHECK-NEXT:   .uleb128 .LBB0_3-.LBB_END0_275; CHECK-NEXT:   .byte	1                       # number of callsites76; CHECK-NEXT:   .uleb128 .LBB0_3_CS0-.LBB0_377; CHECK-NEXT:   .uleb128 .LBB_END0_3-.LBB0_3_CS078; CHECK-NEXT:	.byte	179 80