Skip to content

Commit cb44439

Browse files
committed
[SimplifyCFG] Make test more robust (NFC)
These are supposed to test creation of a switch, so make sure there is some actual code in the branches. Otherwise this could be turned into a select instead.
1 parent 241d42c commit cb44439

File tree

2 files changed

+40
-25
lines changed

2 files changed

+40
-25
lines changed

llvm/test/Transforms/SimplifyCFG/switch_create-custom-dl.ll

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -253,7 +253,7 @@ define void @test7(i8 zeroext %c, i32 %x) nounwind ssp noredzone {
253253
; CHECK-NEXT: i8 97, label [[IF_THEN]]
254254
; CHECK-NEXT: ]
255255
; CHECK: if.then:
256-
; CHECK-NEXT: tail call void @foo1() [[ATTR2:#.*]]
256+
; CHECK-NEXT: tail call void @foo1() #[[ATTR2:[0-9]+]]
257257
; CHECK-NEXT: ret void
258258
; CHECK: if.end:
259259
; CHECK-NEXT: ret void
@@ -289,7 +289,7 @@ define i32 @test8(i8 zeroext %c, i32 %x, i1 %C) nounwind ssp noredzone {
289289
; CHECK-NEXT: ]
290290
; CHECK: if.then:
291291
; CHECK-NEXT: [[A:%.*]] = phi i32 [ 0, [[ENTRY:%.*]] ], [ 42, [[SWITCH_EARLY_TEST]] ], [ 42, [[N]] ], [ 42, [[SWITCH_EARLY_TEST]] ]
292-
; CHECK-NEXT: tail call void @foo1() [[ATTR2]]
292+
; CHECK-NEXT: tail call void @foo1() #[[ATTR2]]
293293
; CHECK-NEXT: ret i32 [[A]]
294294
; CHECK: if.end:
295295
; CHECK-NEXT: ret i32 0
@@ -396,19 +396,22 @@ define i32 @test10(i32 %mode, i1 %Cond) {
396396
; CHECK-NEXT: i32 0, label [[F]]
397397
; CHECK-NEXT: ]
398398
; CHECK: T:
399-
; CHECK-NEXT: [[MERGE:%.*]] = phi i32 [ 123, [[SWITCH_EARLY_TEST]] ], [ 324, [[F]] ]
400-
; CHECK-NEXT: ret i32 [[MERGE]]
399+
; CHECK-NEXT: call void @foo1()
400+
; CHECK-NEXT: ret i32 123
401401
; CHECK: F:
402-
; CHECK-NEXT: br label [[T]]
402+
; CHECK-NEXT: call void @foo2()
403+
; CHECK-NEXT: ret i32 324
403404
;
404405
%A = icmp ne i32 %mode, 0
405406
%B = icmp ne i32 %mode, 51
406407
%C = and i1 %A, %B
407408
%D = and i1 %C, %Cond
408409
br i1 %D, label %T, label %F
409410
T:
411+
call void @foo1()
410412
ret i32 123
411413
F:
414+
call void @foo2()
412415
ret i32 324
413416

414417
}
@@ -506,7 +509,7 @@ define void @test13(i32 %x) nounwind ssp noredzone {
506509
; CHECK-NEXT: i32 0, label [[IF_THEN]]
507510
; CHECK-NEXT: ]
508511
; CHECK: if.then:
509-
; CHECK-NEXT: call void @foo1() [[ATTR3:#.*]]
512+
; CHECK-NEXT: call void @foo1() #[[ATTR3:[0-9]+]]
510513
; CHECK-NEXT: br label [[IF_END]]
511514
; CHECK: if.end:
512515
; CHECK-NEXT: ret void
@@ -548,7 +551,7 @@ define void @test14(i32 %x) nounwind ssp noredzone {
548551
; CHECK-NEXT: i32 0, label [[IF_THEN]]
549552
; CHECK-NEXT: ]
550553
; CHECK: if.then:
551-
; CHECK-NEXT: call void @foo1() [[ATTR3]]
554+
; CHECK-NEXT: call void @foo1() #[[ATTR3]]
552555
; CHECK-NEXT: br label [[IF_END]]
553556
; CHECK: if.end:
554557
; CHECK-NEXT: ret void

llvm/test/Transforms/SimplifyCFG/switch_create.ll

Lines changed: 30 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -303,7 +303,7 @@ define void @test7(i8 zeroext %c, i32 %x) nounwind ssp noredzone {
303303
; CHECK-NEXT: i8 97, label [[IF_THEN]]
304304
; CHECK-NEXT: ]
305305
; CHECK: if.then:
306-
; CHECK-NEXT: tail call void @foo1() [[ATTR2:#.*]]
306+
; CHECK-NEXT: tail call void @foo1() #[[ATTR2:[0-9]+]]
307307
; CHECK-NEXT: ret void
308308
; CHECK: if.end:
309309
; CHECK-NEXT: ret void
@@ -339,7 +339,7 @@ define i32 @test8(i8 zeroext %c, i32 %x, i1 %C) nounwind ssp noredzone {
339339
; CHECK-NEXT: ]
340340
; CHECK: if.then:
341341
; CHECK-NEXT: [[A:%.*]] = phi i32 [ 0, [[ENTRY:%.*]] ], [ 42, [[SWITCH_EARLY_TEST]] ], [ 42, [[N]] ], [ 42, [[SWITCH_EARLY_TEST]] ]
342-
; CHECK-NEXT: tail call void @foo1() [[ATTR2]]
342+
; CHECK-NEXT: tail call void @foo1() #[[ATTR2]]
343343
; CHECK-NEXT: ret i32 [[A]]
344344
; CHECK: if.end:
345345
; CHECK-NEXT: ret i32 0
@@ -446,19 +446,22 @@ define i32 @test10(i32 %mode, i1 %Cond) {
446446
; CHECK-NEXT: i32 0, label [[F]]
447447
; CHECK-NEXT: ]
448448
; CHECK: T:
449-
; CHECK-NEXT: [[MERGE:%.*]] = phi i32 [ 123, [[SWITCH_EARLY_TEST]] ], [ 324, [[F]] ]
450-
; CHECK-NEXT: ret i32 [[MERGE]]
449+
; CHECK-NEXT: call void @foo1()
450+
; CHECK-NEXT: ret i32 123
451451
; CHECK: F:
452-
; CHECK-NEXT: br label [[T]]
452+
; CHECK-NEXT: call void @foo2()
453+
; CHECK-NEXT: ret i32 324
453454
;
454455
%A = icmp ne i32 %mode, 0
455456
%B = icmp ne i32 %mode, 51
456457
%C = and i1 %A, %B
457458
%D = and i1 %C, %Cond
458459
br i1 %D, label %T, label %F
459460
T:
461+
call void @foo1()
460462
ret i32 123
461463
F:
464+
call void @foo2()
462465
ret i32 324
463466

464467
}
@@ -472,19 +475,22 @@ define i32 @test10_select(i32 %mode, i1 %Cond) {
472475
; CHECK-NEXT: i32 0, label [[F]]
473476
; CHECK-NEXT: ]
474477
; CHECK: T:
475-
; CHECK-NEXT: [[MERGE:%.*]] = phi i32 [ 123, [[SWITCH_EARLY_TEST]] ], [ 324, [[F]] ]
476-
; CHECK-NEXT: ret i32 [[MERGE]]
478+
; CHECK-NEXT: call void @foo1()
479+
; CHECK-NEXT: ret i32 123
477480
; CHECK: F:
478-
; CHECK-NEXT: br label [[T]]
481+
; CHECK-NEXT: call void @foo2()
482+
; CHECK-NEXT: ret i32 324
479483
;
480484
%A = icmp ne i32 %mode, 0
481485
%B = icmp ne i32 %mode, 51
482486
%C = select i1 %A, i1 %B, i1 false
483487
%D = select i1 %C, i1 %Cond, i1 false
484488
br i1 %D, label %T, label %F
485489
T:
490+
call void @foo1()
486491
ret i32 123
487492
F:
493+
call void @foo2()
488494
ret i32 324
489495

490496
}
@@ -499,19 +505,22 @@ define i32 @test10_select_and(i32 %mode, i1 %Cond) {
499505
; CHECK-NEXT: i32 0, label [[F]]
500506
; CHECK-NEXT: ]
501507
; CHECK: T:
502-
; CHECK-NEXT: [[MERGE:%.*]] = phi i32 [ 123, [[SWITCH_EARLY_TEST]] ], [ 324, [[F]] ]
503-
; CHECK-NEXT: ret i32 [[MERGE]]
508+
; CHECK-NEXT: call void @foo1()
509+
; CHECK-NEXT: ret i32 123
504510
; CHECK: F:
505-
; CHECK-NEXT: br label [[T]]
511+
; CHECK-NEXT: call void @foo2()
512+
; CHECK-NEXT: ret i32 324
506513
;
507514
%A = icmp ne i32 %mode, 0
508515
%B = icmp ne i32 %mode, 51
509516
%C = select i1 %A, i1 %B, i1 false
510517
%D = and i1 %C, %Cond
511518
br i1 %D, label %T, label %F
512519
T:
520+
call void @foo1()
513521
ret i32 123
514522
F:
523+
call void @foo2()
515524
ret i32 324
516525

517526
}
@@ -525,19 +534,22 @@ define i32 @test10_select_nofreeze(i32 %mode, i1 noundef %Cond) {
525534
; CHECK-NEXT: i32 0, label [[F]]
526535
; CHECK-NEXT: ]
527536
; CHECK: T:
528-
; CHECK-NEXT: [[MERGE:%.*]] = phi i32 [ 123, [[SWITCH_EARLY_TEST]] ], [ 324, [[F]] ]
529-
; CHECK-NEXT: ret i32 [[MERGE]]
537+
; CHECK-NEXT: call void @foo1()
538+
; CHECK-NEXT: ret i32 123
530539
; CHECK: F:
531-
; CHECK-NEXT: br label [[T]]
540+
; CHECK-NEXT: call void @foo2()
541+
; CHECK-NEXT: ret i32 324
532542
;
533543
%A = icmp ne i32 %mode, 0
534544
%B = icmp ne i32 %mode, 51
535545
%C = select i1 %A, i1 %B, i1 false
536546
%D = select i1 %C, i1 %Cond, i1 false
537547
br i1 %D, label %T, label %F
538548
T:
549+
call void @foo1()
539550
ret i32 123
540551
F:
552+
call void @foo2()
541553
ret i32 324
542554

543555
}
@@ -594,8 +606,8 @@ return: ; preds = %if.end, %if.then
594606
define void @test12() nounwind {
595607
; CHECK-LABEL: @test12(
596608
; CHECK-NEXT: entry:
597-
; CHECK-NEXT: [[DOTOLD:%.*]] = icmp eq i32 undef, undef
598-
; CHECK-NEXT: br i1 [[DOTOLD]], label [[BB55_US_US:%.*]], label [[MALFORMED:%.*]]
609+
; CHECK-NEXT: [[A_OLD:%.*]] = icmp eq i32 undef, undef
610+
; CHECK-NEXT: br i1 [[A_OLD]], label [[BB55_US_US:%.*]], label [[MALFORMED:%.*]]
599611
; CHECK: bb55.us.us:
600612
; CHECK-NEXT: [[B:%.*]] = icmp ugt i32 undef, undef
601613
; CHECK-NEXT: [[A:%.*]] = icmp eq i32 undef, undef
@@ -635,7 +647,7 @@ define void @test13(i32 %x) nounwind ssp noredzone {
635647
; CHECK-NEXT: i32 0, label [[IF_THEN]]
636648
; CHECK-NEXT: ]
637649
; CHECK: if.then:
638-
; CHECK-NEXT: call void @foo1() [[ATTR3:#.*]]
650+
; CHECK-NEXT: call void @foo1() #[[ATTR3:[0-9]+]]
639651
; CHECK-NEXT: br label [[IF_END]]
640652
; CHECK: if.end:
641653
; CHECK-NEXT: ret void
@@ -677,7 +689,7 @@ define void @test14(i32 %x) nounwind ssp noredzone {
677689
; CHECK-NEXT: i32 0, label [[IF_THEN]]
678690
; CHECK-NEXT: ]
679691
; CHECK: if.then:
680-
; CHECK-NEXT: call void @foo1() [[ATTR3]]
692+
; CHECK-NEXT: call void @foo1() #[[ATTR3]]
681693
; CHECK-NEXT: br label [[IF_END]]
682694
; CHECK: if.end:
683695
; CHECK-NEXT: ret void

0 commit comments

Comments
 (0)