1 ; Tests if we handle a branch instructions. 2 3 ; RUN: %p2i -i %s --insts | FileCheck %s 4 ; RUN: %p2i -i %s --args -notranslate -timing | \ 5 ; RUN: FileCheck --check-prefix=NOIR %s 6 7 define internal void @SimpleBranch() { 8 entry: 9 br label %b3 10 b1: 11 br label %b2 12 b2: 13 ret void 14 b3: 15 br label %b1 16 } 17 18 ; CHECK: define internal void @SimpleBranch() { 19 ; CHECK-NEXT: entry: 20 ; CHECK-NEXT: br label %b3 21 ; CHECK-NEXT: b1: 22 ; CHECK-NEXT: br label %b2 23 ; CHECK-NEXT: b2: 24 ; CHECK-NEXT: ret void 25 ; CHECK-NEXT: b3: 26 ; CHECK-NEXT: br label %b1 27 ; CHECK-NEXT: } 28 29 define internal void @CondBranch(i32 %p) { 30 entry: 31 %test = trunc i32 %p to i1 32 br i1 %test, label %b1, label %b2 33 b1: 34 ret void 35 b2: 36 br i1 %test, label %b2, label %b1 37 } 38 39 ; CHECK-NEXT: define internal void @CondBranch(i32 %p) { 40 ; CHECK-NEXT: entry: 41 ; CHECK-NEXT: %test = trunc i32 %p to i1 42 ; CHECK-NEXT: br i1 %test, label %b1, label %b2 43 ; CHECK-NEXT: b1: 44 ; CHECK-NEXT: ret void 45 ; CHECK-NEXT: b2: 46 ; CHECK-NEXT: br i1 %test, label %b2, label %b1 47 ; CHECK-NEXT: } 48 49 ; NOIR: Total across all functions 50