77define zeroext i1 @foo (i32 %arg ) {
88; CHECK-LABEL: @foo(
99; CHECK-NEXT: entry:
10- ; CHECK-NEXT: [[CMP1:%.*]] = icmp ne i32 [[ARG:%.*]], 37
10+ ; CHECK-NEXT: [[CMP1:%.*]] = icmp eq i32 [[ARG:%.*]], 37
1111; CHECK-NEXT: br i1 [[CMP1]], label [[BB_ELSE:%.*]], label [[BB_THEN:%.*]]
1212; CHECK: bb_then:
1313; CHECK-NEXT: call void @bar()
@@ -16,8 +16,7 @@ define zeroext i1 @foo(i32 %arg) {
1616; CHECK-NEXT: [[CMP2:%.*]] = icmp slt i32 [[ARG]], 17
1717; CHECK-NEXT: br label [[BB_EXIT]]
1818; CHECK: bb_exit:
19- ; CHECK-NEXT: [[PHI1:%.*]] = phi i1 [ [[CMP2]], [[BB_ELSE]] ], [ undef, [[BB_THEN]] ]
20- ; CHECK-NEXT: [[AND1:%.*]] = and i1 [[PHI1]], [[CMP1]]
19+ ; CHECK-NEXT: [[AND1:%.*]] = phi i1 [ [[CMP2]], [[BB_THEN]] ], [ false, [[BB_ELSE]] ]
2120; CHECK-NEXT: ret i1 [[AND1]]
2221;
2322
@@ -43,7 +42,7 @@ bb_exit:
4342define zeroext i1 @foo_logical (i32 %arg ) {
4443; CHECK-LABEL: @foo_logical(
4544; CHECK-NEXT: entry:
46- ; CHECK-NEXT: [[CMP1:%.*]] = icmp ne i32 [[ARG:%.*]], 37
45+ ; CHECK-NEXT: [[CMP1:%.*]] = icmp eq i32 [[ARG:%.*]], 37
4746; CHECK-NEXT: br i1 [[CMP1]], label [[BB_ELSE:%.*]], label [[BB_THEN:%.*]]
4847; CHECK: bb_then:
4948; CHECK-NEXT: call void @bar()
@@ -52,8 +51,7 @@ define zeroext i1 @foo_logical(i32 %arg) {
5251; CHECK-NEXT: [[CMP2:%.*]] = icmp slt i32 [[ARG]], 17
5352; CHECK-NEXT: br label [[BB_EXIT]]
5453; CHECK: bb_exit:
55- ; CHECK-NEXT: [[PHI1:%.*]] = phi i1 [ [[CMP2]], [[BB_ELSE]] ], [ undef, [[BB_THEN]] ]
56- ; CHECK-NEXT: [[AND1:%.*]] = and i1 [[PHI1]], [[CMP1]]
54+ ; CHECK-NEXT: [[AND1:%.*]] = phi i1 [ [[CMP2]], [[BB_THEN]] ], [ false, [[BB_ELSE]] ]
5755; CHECK-NEXT: ret i1 [[AND1]]
5856;
5957
0 commit comments