Home | History | Annotate | Download | only in llvm2ice_tests
      1 ; 1. Trivial smoke test of compare and branch, with multiple basic
      2 ; blocks.
      3 ; 2. For a conditional branch on a constant boolean value, make sure
      4 ; we don't lower to a cmp instructions with an immediate as the first
      5 ; source operand.
      6 
      7 ; REQUIRES: allow_dump
      8 
      9 ; RUN: %p2i -i %s --args -O2 --verbose inst -threads=0 | FileCheck %s
     10 ; RUN: %p2i -i %s --args -Om1 --verbose inst -threads=0 | FileCheck %s
     11 
     12 define internal i32 @simple_cond_branch(i32 %foo, i32 %bar) {
     13 entry:
     14   %r1 = icmp eq i32 %foo, %bar
     15   br i1 %r1, label %Equal, label %Unequal
     16 Equal:
     17   ret i32 %foo
     18 Unequal:
     19   ret i32 %bar
     20 ; CHECK-LABEL: simple_cond_branch
     21 ; CHECK: br i1 %r1, label %Equal, label %Unequal
     22 ; CHECK: Equal:
     23 ; CHECK:  ret i32 %foo
     24 ; CHECK: Unequal:
     25 ; CHECK:  ret i32 %bar
     26 }
     27 
     28 define internal i32 @test_br_const() {
     29 __0:
     30   br i1 true, label %__1, label %__2
     31 __1:
     32   ret i32 21
     33 __2:
     34   ret i32 43
     35 }
     36 ; CHECK-LABEL: test_br_const
     37 ; CHECK-NOT: cmp {{[0-9]*}},
     38