[ORC] Add std::tuple support to SimplePackedSerialization.
[llvm-project.git] / llvm / test / Transforms / ConstraintElimination / ugt-ule.ll
blobcc9eca9a6605f44101e5d8681ac3b2589cf502aa
1 ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
2 ; RUN: opt -constraint-elimination -S %s | FileCheck %s
4 declare void @use(i1)
6 define void @test(i8* %m, i8* %ptr) {
7 ; CHECK-LABEL: @test(
8 ; CHECK-NEXT:  entry:
9 ; CHECK-NEXT:    [[CMP_1:%.*]] = icmp ult i8* [[M:%.*]], [[PTR:%.*]]
10 ; CHECK-NEXT:    br i1 [[CMP_1]], label [[BB_1:%.*]], label [[BB_2:%.*]]
11 ; CHECK:       bb.1:
12 ; CHECK-NEXT:    [[CMP_2:%.*]] = icmp uge i8* [[M]], [[PTR]]
13 ; CHECK-NEXT:    call void @use(i1 false)
14 ; CHECK-NEXT:    ret void
15 ; CHECK:       bb.2:
16 ; CHECK-NEXT:    br label [[BB_2_NEXT:%.*]]
17 ; CHECK:       bb.2.next:
18 ; CHECK-NEXT:    [[CMP_3:%.*]] = icmp uge i8* [[M]], [[PTR]]
19 ; CHECK-NEXT:    call void @use(i1 true)
20 ; CHECK-NEXT:    ret void
22 entry:
23   %cmp.1 = icmp ult i8* %m, %ptr
24   br i1 %cmp.1, label %bb.1, label %bb.2
26 bb.1:
27   %cmp.2 = icmp uge i8* %m, %ptr
28   call void @use(i1 %cmp.2)
29   ret void
31 bb.2:
32   br label %bb.2.next
34 bb.2.next:
35   %cmp.3 = icmp uge i8* %m, %ptr
36   call void @use(i1 %cmp.3)
37   ret void