Skip to content

Commit bdd9f71

Browse files
committed
oops, forgot to commit updated test checks
1 parent 1a48164 commit bdd9f71

File tree

1 file changed

+24
-8
lines changed

1 file changed

+24
-8
lines changed

llvm/test/Transforms/InstCombine/fixedpoint-and-or-icmps.ll

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
2-
; RUN: opt < %s -passes='instcombine<max-iterations=5>' -S | FileCheck %s
2+
; RUN: opt < %s -passes='instcombine<no-verify-fixpoint>' -S | FileCheck %s
33

44
; This is a fuzzer-generated test that would assert because
55
; we'd get into foldAndOfICmps() without running InstSimplify
@@ -11,14 +11,30 @@ define void @simplify_before_foldAndOfICmps(ptr %p, ptr %A8) {
1111
; CHECK-NEXT: [[L7:%.*]] = load i16, ptr [[A8:%.*]], align 2
1212
; CHECK-NEXT: [[TMP1:%.*]] = icmp eq i16 [[L7]], -1
1313
; CHECK-NEXT: [[B11:%.*]] = zext i1 [[TMP1]] to i16
14-
; CHECK-NEXT: [[C10:%.*]] = icmp ugt i16 [[L7]], [[B11]]
15-
; CHECK-NEXT: [[C7:%.*]] = icmp slt i16 [[L7]], 0
16-
; CHECK-NEXT: [[C3:%.*]] = and i1 [[C7]], [[C10]]
17-
; CHECK-NEXT: [[TMP2:%.*]] = xor i1 [[C10]], true
18-
; CHECK-NEXT: [[C18:%.*]] = or i1 [[C7]], [[TMP2]]
19-
; CHECK-NEXT: [[TMP3:%.*]] = sext i1 [[C3]] to i64
14+
; CHECK-NEXT: [[TMP2:%.*]] = zext i1 [[TMP1]] to i64
15+
; CHECK-NEXT: [[G4:%.*]] = getelementptr i16, ptr [[A8]], i64 [[TMP2]]
16+
; CHECK-NEXT: [[L2:%.*]] = load i16, ptr [[G4]], align 2
17+
; CHECK-NEXT: [[L4:%.*]] = load i16, ptr [[A8]], align 2
18+
; CHECK-NEXT: [[B21:%.*]] = sdiv i16 [[L7]], [[L4]]
19+
; CHECK-NEXT: [[TMP5:%.*]] = select i1 [[TMP1]], i16 [[B21]], i16 0
20+
; CHECK-NEXT: [[B18:%.*]] = sub i16 0, [[TMP5]]
21+
; CHECK-NEXT: [[C11:%.*]] = icmp ugt i16 [[L2]], [[B11]]
22+
; CHECK-NEXT: [[B20:%.*]] = and i16 [[L7]], [[L2]]
23+
; CHECK-NEXT: [[C5:%.*]] = icmp sgt i16 [[B21]], [[L2]]
24+
; CHECK-NEXT: [[C12:%.*]] = icmp ule i16 [[B21]], [[L2]]
25+
; CHECK-NEXT: [[C10:%.*]] = icmp slt i16 [[B20]], 0
26+
; CHECK-NEXT: [[B29:%.*]] = srem i16 [[L4]], [[B18]]
27+
; CHECK-NEXT: [[B15:%.*]] = xor i1 [[C10]], [[C11]]
28+
; CHECK-NEXT: [[TMP6:%.*]] = and i1 [[C12]], [[B15]]
29+
; CHECK-NEXT: [[C6:%.*]] = xor i1 [[TMP6]], true
30+
; CHECK-NEXT: [[B33:%.*]] = or i16 [[B29]], [[L4]]
31+
; CHECK-NEXT: [[C3:%.*]] = and i1 [[C5]], [[C6]]
32+
; CHECK-NEXT: [[C4:%.*]] = and i1 [[C3]], [[C11]]
33+
; CHECK-NEXT: [[TMP4:%.*]] = xor i1 [[C11]], true
34+
; CHECK-NEXT: [[C18:%.*]] = or i1 [[C10]], [[TMP4]]
35+
; CHECK-NEXT: [[TMP3:%.*]] = sext i1 [[C4]] to i64
2036
; CHECK-NEXT: [[G26:%.*]] = getelementptr i1, ptr null, i64 [[TMP3]]
21-
; CHECK-NEXT: store i16 [[L7]], ptr [[P:%.*]], align 2
37+
; CHECK-NEXT: store i16 [[B33]], ptr [[P:%.*]], align 2
2238
; CHECK-NEXT: store i1 [[C18]], ptr [[P]], align 1
2339
; CHECK-NEXT: store ptr [[G26]], ptr [[P]], align 8
2440
; CHECK-NEXT: ret void

0 commit comments

Comments
 (0)