File tree Expand file tree Collapse file tree 1 file changed +34
-0
lines changed
llvm/test/Transforms/CorrelatedValuePropagation Expand file tree Collapse file tree 1 file changed +34
-0
lines changed Original file line number Diff line number Diff line change @@ -377,6 +377,40 @@ unreachable:
377
377
ret void
378
378
}
379
379
380
+ define i32 @switch_range (i32 %cond ) {
381
+ ; CHECK-LABEL: @switch_range(
382
+ ; CHECK-NEXT: entry:
383
+ ; CHECK-NEXT: [[S:%.*]] = urem i32 [[COND:%.*]], 3
384
+ ; CHECK-NEXT: [[S1:%.*]] = add nuw nsw i32 [[S]], 1
385
+ ; CHECK-NEXT: switch i32 [[S1]], label [[UNREACHABLE:%.*]] [
386
+ ; CHECK-NEXT: i32 1, label [[EXIT1:%.*]]
387
+ ; CHECK-NEXT: i32 2, label [[EXIT2:%.*]]
388
+ ; CHECK-NEXT: i32 3, label [[EXIT1]]
389
+ ; CHECK-NEXT: ]
390
+ ; CHECK: exit1:
391
+ ; CHECK-NEXT: ret i32 1
392
+ ; CHECK: exit2:
393
+ ; CHECK-NEXT: ret i32 2
394
+ ; CHECK: unreachable:
395
+ ; CHECK-NEXT: ret i32 0
396
+ ;
397
+ entry:
398
+ %s = urem i32 %cond , 3
399
+ %s1 = add i32 %s , 1
400
+ switch i32 %s1 , label %unreachable [
401
+ i32 1 , label %exit1
402
+ i32 2 , label %exit2
403
+ i32 3 , label %exit1
404
+ ]
405
+
406
+ exit1:
407
+ ret i32 1
408
+ exit2:
409
+ ret i32 2
410
+ unreachable:
411
+ ret i32 0
412
+ }
413
+
380
414
define i1 @arg_attribute (i8* nonnull %a ) {
381
415
; CHECK-LABEL: @arg_attribute(
382
416
; CHECK-NEXT: ret i1 false
You can’t perform that action at this time.
0 commit comments