1
1
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
2
- ; RUN: opt < %s -passes='instcombine<no-verify-fixpoint >' -S | FileCheck %s
2
+ ; RUN: opt < %s -passes='instcombine<max-iterations=5 >' -S | FileCheck %s
3
3
4
4
; This is a fuzzer-generated test that would assert because
5
5
; we'd get into foldAndOfICmps() without running InstSimplify
@@ -14,27 +14,17 @@ define void @simplify_before_foldAndOfICmps(ptr %p, ptr %A8) {
14
14
; CHECK-NEXT: [[TMP2:%.*]] = zext i1 [[TMP1]] to i64
15
15
; CHECK-NEXT: [[G4:%.*]] = getelementptr i16, ptr [[A8]], i64 [[TMP2]]
16
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
17
; CHECK-NEXT: [[C11:%.*]] = icmp ugt i16 [[L2]], [[B11]]
22
18
; 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]]
19
+ ; CHECK-NEXT: [[C5:%.*]] = icmp slt i16 [[L2]], 1
25
20
; 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]]
21
+ ; CHECK-NEXT: [[C3:%.*]] = and i1 [[C5]], [[C10]]
32
22
; CHECK-NEXT: [[C4:%.*]] = and i1 [[C3]], [[C11]]
33
23
; CHECK-NEXT: [[TMP4:%.*]] = xor i1 [[C11]], true
34
24
; CHECK-NEXT: [[C18:%.*]] = or i1 [[C10]], [[TMP4]]
35
25
; CHECK-NEXT: [[TMP3:%.*]] = sext i1 [[C4]] to i64
36
26
; CHECK-NEXT: [[G26:%.*]] = getelementptr i1, ptr null, i64 [[TMP3]]
37
- ; CHECK-NEXT: store i16 [[B33 ]], ptr [[P:%.*]], align 2
27
+ ; CHECK-NEXT: store i16 [[L7 ]], ptr [[P:%.*]], align 2
38
28
; CHECK-NEXT: store i1 [[C18]], ptr [[P]], align 1
39
29
; CHECK-NEXT: store ptr [[G26]], ptr [[P]], align 8
40
30
; CHECK-NEXT: ret void
0 commit comments