1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py 2; RUN: opt -passes=constraint-elimination -S %s | FileCheck %s 3 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 void 14; 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 void 19; 20entry: 21 %cmp.1 = icmp ult ptr %m, %ptr 22 br i1 %cmp.1, label %bb.1, label %bb.2 23 24bb.1: 25 %cmp.2 = icmp uge ptr %m, %ptr 26 call void @use(i1 %cmp.2) 27 ret void 28 29bb.2: 30 br label %bb.2.next 31 32bb.2.next: 33 %cmp.3 = icmp uge ptr %m, %ptr 34 call void @use(i1 %cmp.3) 35 ret void 36} 37