@@ -7,11 +7,9 @@ define i32 @xor_domcondition(i32 %x, i32 %y) {
7
7
; CHECK-NEXT: [[CMP:%.*]] = icmp eq i32 [[X:%.*]], [[Y:%.*]]
8
8
; CHECK-NEXT: br i1 [[CMP]], label [[COND_TRUE:%.*]], label [[COND_END:%.*]]
9
9
; CHECK: cond.true:
10
- ; CHECK-NEXT: [[XOR:%.*]] = xor i32 [[X]], [[Y]]
11
10
; CHECK-NEXT: br label [[COND_END]]
12
11
; CHECK: cond.end:
13
- ; CHECK-NEXT: [[COND:%.*]] = phi i32 [ [[XOR]], [[COND_TRUE]] ], [ 0, [[ENTRY:%.*]] ]
14
- ; CHECK-NEXT: ret i32 [[COND]]
12
+ ; CHECK-NEXT: ret i32 0
15
13
;
16
14
entry:
17
15
%cmp = icmp eq i32 %x , %y
@@ -32,11 +30,9 @@ define i32 @sub_domcondition(i32 %x, i32 %y) {
32
30
; CHECK-NEXT: [[CMP:%.*]] = icmp eq i32 [[X:%.*]], [[Y:%.*]]
33
31
; CHECK-NEXT: br i1 [[CMP]], label [[COND_TRUE:%.*]], label [[COND_END:%.*]]
34
32
; CHECK: cond.true:
35
- ; CHECK-NEXT: [[SUB:%.*]] = sub i32 [[X]], [[Y]]
36
33
; CHECK-NEXT: br label [[COND_END]]
37
34
; CHECK: cond.end:
38
- ; CHECK-NEXT: [[COND:%.*]] = phi i32 [ [[SUB]], [[COND_TRUE]] ], [ 0, [[ENTRY:%.*]] ]
39
- ; CHECK-NEXT: ret i32 [[COND]]
35
+ ; CHECK-NEXT: ret i32 0
40
36
;
41
37
entry:
42
38
%cmp = icmp eq i32 %x , %y
@@ -57,10 +53,9 @@ define i32 @udiv_domcondition(i32 %x, i32 %y) {
57
53
; CHECK-NEXT: [[CMP:%.*]] = icmp eq i32 [[X:%.*]], [[Y:%.*]]
58
54
; CHECK-NEXT: br i1 [[CMP]], label [[COND_TRUE:%.*]], label [[COND_END:%.*]]
59
55
; CHECK: cond.true:
60
- ; CHECK-NEXT: [[UDIV:%.*]] = udiv i32 [[X]], [[Y]]
61
56
; CHECK-NEXT: br label [[COND_END]]
62
57
; CHECK: cond.end:
63
- ; CHECK-NEXT: [[COND:%.*]] = phi i32 [ [[UDIV]] , [[COND_TRUE]] ], [ 0, [[ENTRY:%.*]] ]
58
+ ; CHECK-NEXT: [[COND:%.*]] = phi i32 [ 1 , [[COND_TRUE]] ], [ 0, [[ENTRY:%.*]] ]
64
59
; CHECK-NEXT: ret i32 [[COND]]
65
60
;
66
61
entry:
@@ -82,10 +77,9 @@ define i32 @sdiv_domcondition(i32 %x, i32 %y) {
82
77
; CHECK-NEXT: [[CMP:%.*]] = icmp eq i32 [[X:%.*]], [[Y:%.*]]
83
78
; CHECK-NEXT: br i1 [[CMP]], label [[COND_TRUE:%.*]], label [[COND_END:%.*]]
84
79
; CHECK: cond.true:
85
- ; CHECK-NEXT: [[SDIV:%.*]] = sdiv i32 [[X]], [[Y]]
86
80
; CHECK-NEXT: br label [[COND_END]]
87
81
; CHECK: cond.end:
88
- ; CHECK-NEXT: [[COND:%.*]] = phi i32 [ [[SDIV]] , [[COND_TRUE]] ], [ 0, [[ENTRY:%.*]] ]
82
+ ; CHECK-NEXT: [[COND:%.*]] = phi i32 [ 1 , [[COND_TRUE]] ], [ 0, [[ENTRY:%.*]] ]
89
83
; CHECK-NEXT: ret i32 [[COND]]
90
84
;
91
85
entry:
@@ -107,11 +101,9 @@ define i32 @urem_domcondition(i32 %x, i32 %y) {
107
101
; CHECK-NEXT: [[CMP:%.*]] = icmp eq i32 [[X:%.*]], [[Y:%.*]]
108
102
; CHECK-NEXT: br i1 [[CMP]], label [[COND_TRUE:%.*]], label [[COND_END:%.*]]
109
103
; CHECK: cond.true:
110
- ; CHECK-NEXT: [[UREM:%.*]] = urem i32 [[X]], [[Y]]
111
104
; CHECK-NEXT: br label [[COND_END]]
112
105
; CHECK: cond.end:
113
- ; CHECK-NEXT: [[COND:%.*]] = phi i32 [ [[UREM]], [[COND_TRUE]] ], [ 0, [[ENTRY:%.*]] ]
114
- ; CHECK-NEXT: ret i32 [[COND]]
106
+ ; CHECK-NEXT: ret i32 0
115
107
;
116
108
entry:
117
109
%cmp = icmp eq i32 %x , %y
@@ -132,11 +124,9 @@ define i32 @srem_domcondition(i32 %x, i32 %y) {
132
124
; CHECK-NEXT: [[CMP:%.*]] = icmp eq i32 [[X:%.*]], [[Y:%.*]]
133
125
; CHECK-NEXT: br i1 [[CMP]], label [[COND_TRUE:%.*]], label [[COND_END:%.*]]
134
126
; CHECK: cond.true:
135
- ; CHECK-NEXT: [[SREM:%.*]] = srem i32 [[X]], [[Y]]
136
127
; CHECK-NEXT: br label [[COND_END]]
137
128
; CHECK: cond.end:
138
- ; CHECK-NEXT: [[COND:%.*]] = phi i32 [ [[SREM]], [[COND_TRUE]] ], [ 0, [[ENTRY:%.*]] ]
139
- ; CHECK-NEXT: ret i32 [[COND]]
129
+ ; CHECK-NEXT: ret i32 0
140
130
;
141
131
entry:
142
132
%cmp = icmp eq i32 %x , %y
@@ -158,10 +148,9 @@ define i32 @and_domcondition(i32 %x, i32 %y) {
158
148
; CHECK-NEXT: [[CMP:%.*]] = icmp eq i32 [[X:%.*]], [[Y:%.*]]
159
149
; CHECK-NEXT: br i1 [[CMP]], label [[COND_TRUE:%.*]], label [[COND_END:%.*]]
160
150
; CHECK: cond.true:
161
- ; CHECK-NEXT: [[AND:%.*]] = and i32 [[X]], [[Y]]
162
151
; CHECK-NEXT: br label [[COND_END]]
163
152
; CHECK: cond.end:
164
- ; CHECK-NEXT: [[COND:%.*]] = phi i32 [ [[AND ]], [[COND_TRUE]] ], [ 0, [[ENTRY:%.*]] ]
153
+ ; CHECK-NEXT: [[COND:%.*]] = phi i32 [ [[Y ]], [[COND_TRUE]] ], [ 0, [[ENTRY:%.*]] ]
165
154
; CHECK-NEXT: ret i32 [[COND]]
166
155
;
167
156
entry:
@@ -184,10 +173,9 @@ define i32 @or_domcondition(i32 %x, i32 %y) {
184
173
; CHECK-NEXT: [[CMP:%.*]] = icmp eq i32 [[X:%.*]], [[Y:%.*]]
185
174
; CHECK-NEXT: br i1 [[CMP]], label [[COND_TRUE:%.*]], label [[COND_END:%.*]]
186
175
; CHECK: cond.true:
187
- ; CHECK-NEXT: [[OR:%.*]] = or i32 [[X]], [[Y]]
188
176
; CHECK-NEXT: br label [[COND_END]]
189
177
; CHECK: cond.end:
190
- ; CHECK-NEXT: [[COND:%.*]] = phi i32 [ [[OR ]], [[COND_TRUE]] ], [ 0, [[ENTRY:%.*]] ]
178
+ ; CHECK-NEXT: [[COND:%.*]] = phi i32 [ [[Y ]], [[COND_TRUE]] ], [ 0, [[ENTRY:%.*]] ]
191
179
; CHECK-NEXT: ret i32 [[COND]]
192
180
;
193
181
entry:
0 commit comments