Home | History | Annotate | Download | only in ARM
      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