37 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py2; RUN: opt -passes=constraint-elimination -S %s | FileCheck %s3 4declare void @use(i1)5 6define void @test(ptr %m, ptr %ptr) {7; CHECK-LABEL: @test(8; CHECK-NEXT: entry:9; CHECK-NEXT: [[CMP_1:%.*]] = icmp ult ptr [[M:%.*]], [[PTR:%.*]]10; CHECK-NEXT: br i1 [[CMP_1]], label [[BB_1:%.*]], label [[BB_2:%.*]]11; CHECK: bb.1:12; CHECK-NEXT: call void @use(i1 false)13; CHECK-NEXT: ret void14; CHECK: bb.2:15; CHECK-NEXT: br label [[BB_2_NEXT:%.*]]16; CHECK: bb.2.next:17; CHECK-NEXT: call void @use(i1 true)18; CHECK-NEXT: ret void19;20entry:21 %cmp.1 = icmp ult ptr %m, %ptr22 br i1 %cmp.1, label %bb.1, label %bb.223 24bb.1:25 %cmp.2 = icmp uge ptr %m, %ptr26 call void @use(i1 %cmp.2)27 ret void28 29bb.2:30 br label %bb.2.next31 32bb.2.next:33 %cmp.3 = icmp uge ptr %m, %ptr34 call void @use(i1 %cmp.3)35 ret void36}37