@@ -224,6 +224,17 @@ define <2 x i16> @and_with_poison(<2 x i8> %a) {
224
224
225
225
226
226
define <4 x i64 > @issue_97674_getConstantOnEdge (i1 %cond ) {
227
+ ; CHECK-LABEL: define <4 x i64> @issue_97674_getConstantOnEdge(
228
+ ; CHECK-SAME: i1 [[COND:%.*]]) {
229
+ ; CHECK-NEXT: [[ENTRY:.*]]:
230
+ ; CHECK-NEXT: br i1 [[COND]], label %[[IF_THEN:.*]], label %[[IF_END:.*]]
231
+ ; CHECK: [[IF_THEN]]:
232
+ ; CHECK-NEXT: [[FOLDS:%.*]] = add nuw nsw <4 x i64> zeroinitializer, <i64 1, i64 1, i64 1, i64 1>
233
+ ; CHECK-NEXT: br label %[[IF_END]]
234
+ ; CHECK: [[IF_END]]:
235
+ ; CHECK-NEXT: [[R:%.*]] = phi <4 x i64> [ <i64 1, i64 1, i64 1, i64 1>, %[[IF_THEN]] ], [ zeroinitializer, %[[ENTRY]] ]
236
+ ; CHECK-NEXT: ret <4 x i64> [[R]]
237
+ ;
227
238
entry:
228
239
br i1 %cond , label %if.then , label %if.end
229
240
@@ -235,8 +246,13 @@ if.end:
235
246
%r = phi <4 x i64 > [ %folds , %if.then ], [ zeroinitializer , %entry ]
236
247
ret <4 x i64 > %r
237
248
}
238
-
249
+
239
250
define <4 x i64 > @issue_97674_getConstant () {
251
+ ; CHECK-LABEL: define <4 x i64> @issue_97674_getConstant() {
252
+ ; CHECK-NEXT: [[ENTRY:.*:]]
253
+ ; CHECK-NEXT: [[FOLDS:%.*]] = add nuw nsw <4 x i64> zeroinitializer, zeroinitializer
254
+ ; CHECK-NEXT: ret <4 x i64> zeroinitializer
255
+ ;
240
256
entry:
241
257
%folds = add <4 x i64 > zeroinitializer , zeroinitializer
242
258
ret <4 x i64 > %folds
0 commit comments