1 ; RUN: llc -mtriple=arm-eabi -print-machineinstrs=tailduplication -tail-dup-size=100 \ 2 ; RUN: -enable-tail-merge=false -disable-cgp %s -o /dev/null 2>&1 \ 3 ; RUN: | FileCheck %s 4 5 ; CHECK: Machine code for function test0: 6 ; CHECK: Successors according to CFG: BB#1({{[0-9a-fx/= ]+}}3.12%) BB#2({{[0-9a-fx/= ]+}}96.88%) 7 8 define void @test0(i32 %a, i32 %b, i32* %c, i32* %d) { 9 entry: 10 store i32 3, i32* %d 11 br label %B1 12 13 B2: 14 store i32 2, i32* %c 15 br label %B4 16 17 B3: 18 store i32 2, i32* %c 19 br label %B4 20 21 B1: 22 store i32 1, i32* %d 23 %test0 = icmp slt i32 %a, %b 24 br i1 %test0, label %B2, label %B3, !prof !0 25 26 B4: 27 ret void 28 } 29 30 !0 = !{!"branch_weights", i32 4, i32 124} 31 32 ; CHECK: Machine code for function test1: 33 ; CHECK: Successors according to CFG: BB#2(0x7c000000 / 0x80000000 = 96.88%) BB#1(0x04000000 / 0x80000000 = 3.12%) 34 35 @g0 = common global i32 0, align 4 36 37 define void @test1(i32 %a, i32 %b, i32* %c, i32* %d, i32* %e) { 38 39 %test0 = icmp slt i32 %a, %b 40 br i1 %test0, label %B1, label %B2, !prof !1 41 42 B1: 43 br label %B3 44 45 B2: 46 store i32 2, i32* %c 47 br label %B3 48 49 B3: 50 store i32 3, i32* %e 51 ret void 52 } 53 54 !1 = !{!"branch_weights", i32 248, i32 8} 55