@@ -303,7 +303,7 @@ define void @test7(i8 zeroext %c, i32 %x) nounwind ssp noredzone {
303
303
; CHECK-NEXT: i8 97, label [[IF_THEN]]
304
304
; CHECK-NEXT: ]
305
305
; CHECK: if.then:
306
- ; CHECK-NEXT: tail call void @foo1() [[ATTR2:#.* ]]
306
+ ; CHECK-NEXT: tail call void @foo1() # [[ATTR2:[0-9]+ ]]
307
307
; CHECK-NEXT: ret void
308
308
; CHECK: if.end:
309
309
; CHECK-NEXT: ret void
@@ -339,7 +339,7 @@ define i32 @test8(i8 zeroext %c, i32 %x, i1 %C) nounwind ssp noredzone {
339
339
; CHECK-NEXT: ]
340
340
; CHECK: if.then:
341
341
; 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]]
343
343
; CHECK-NEXT: ret i32 [[A]]
344
344
; CHECK: if.end:
345
345
; CHECK-NEXT: ret i32 0
@@ -446,19 +446,22 @@ define i32 @test10(i32 %mode, i1 %Cond) {
446
446
; CHECK-NEXT: i32 0, label [[F]]
447
447
; CHECK-NEXT: ]
448
448
; 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
451
451
; CHECK: F:
452
- ; CHECK-NEXT: br label [[T]]
452
+ ; CHECK-NEXT: call void @foo2()
453
+ ; CHECK-NEXT: ret i32 324
453
454
;
454
455
%A = icmp ne i32 %mode , 0
455
456
%B = icmp ne i32 %mode , 51
456
457
%C = and i1 %A , %B
457
458
%D = and i1 %C , %Cond
458
459
br i1 %D , label %T , label %F
459
460
T:
461
+ call void @foo1 ()
460
462
ret i32 123
461
463
F:
464
+ call void @foo2 ()
462
465
ret i32 324
463
466
464
467
}
@@ -472,19 +475,22 @@ define i32 @test10_select(i32 %mode, i1 %Cond) {
472
475
; CHECK-NEXT: i32 0, label [[F]]
473
476
; CHECK-NEXT: ]
474
477
; 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
477
480
; CHECK: F:
478
- ; CHECK-NEXT: br label [[T]]
481
+ ; CHECK-NEXT: call void @foo2()
482
+ ; CHECK-NEXT: ret i32 324
479
483
;
480
484
%A = icmp ne i32 %mode , 0
481
485
%B = icmp ne i32 %mode , 51
482
486
%C = select i1 %A , i1 %B , i1 false
483
487
%D = select i1 %C , i1 %Cond , i1 false
484
488
br i1 %D , label %T , label %F
485
489
T:
490
+ call void @foo1 ()
486
491
ret i32 123
487
492
F:
493
+ call void @foo2 ()
488
494
ret i32 324
489
495
490
496
}
@@ -499,19 +505,22 @@ define i32 @test10_select_and(i32 %mode, i1 %Cond) {
499
505
; CHECK-NEXT: i32 0, label [[F]]
500
506
; CHECK-NEXT: ]
501
507
; 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
504
510
; CHECK: F:
505
- ; CHECK-NEXT: br label [[T]]
511
+ ; CHECK-NEXT: call void @foo2()
512
+ ; CHECK-NEXT: ret i32 324
506
513
;
507
514
%A = icmp ne i32 %mode , 0
508
515
%B = icmp ne i32 %mode , 51
509
516
%C = select i1 %A , i1 %B , i1 false
510
517
%D = and i1 %C , %Cond
511
518
br i1 %D , label %T , label %F
512
519
T:
520
+ call void @foo1 ()
513
521
ret i32 123
514
522
F:
523
+ call void @foo2 ()
515
524
ret i32 324
516
525
517
526
}
@@ -525,19 +534,22 @@ define i32 @test10_select_nofreeze(i32 %mode, i1 noundef %Cond) {
525
534
; CHECK-NEXT: i32 0, label [[F]]
526
535
; CHECK-NEXT: ]
527
536
; 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
530
539
; CHECK: F:
531
- ; CHECK-NEXT: br label [[T]]
540
+ ; CHECK-NEXT: call void @foo2()
541
+ ; CHECK-NEXT: ret i32 324
532
542
;
533
543
%A = icmp ne i32 %mode , 0
534
544
%B = icmp ne i32 %mode , 51
535
545
%C = select i1 %A , i1 %B , i1 false
536
546
%D = select i1 %C , i1 %Cond , i1 false
537
547
br i1 %D , label %T , label %F
538
548
T:
549
+ call void @foo1 ()
539
550
ret i32 123
540
551
F:
552
+ call void @foo2 ()
541
553
ret i32 324
542
554
543
555
}
@@ -594,8 +606,8 @@ return: ; preds = %if.end, %if.then
594
606
define void @test12 () nounwind {
595
607
; CHECK-LABEL: @test12(
596
608
; 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:%.*]]
599
611
; CHECK: bb55.us.us:
600
612
; CHECK-NEXT: [[B:%.*]] = icmp ugt i32 undef, undef
601
613
; CHECK-NEXT: [[A:%.*]] = icmp eq i32 undef, undef
@@ -635,7 +647,7 @@ define void @test13(i32 %x) nounwind ssp noredzone {
635
647
; CHECK-NEXT: i32 0, label [[IF_THEN]]
636
648
; CHECK-NEXT: ]
637
649
; CHECK: if.then:
638
- ; CHECK-NEXT: call void @foo1() [[ATTR3:#.* ]]
650
+ ; CHECK-NEXT: call void @foo1() # [[ATTR3:[0-9]+ ]]
639
651
; CHECK-NEXT: br label [[IF_END]]
640
652
; CHECK: if.end:
641
653
; CHECK-NEXT: ret void
@@ -677,7 +689,7 @@ define void @test14(i32 %x) nounwind ssp noredzone {
677
689
; CHECK-NEXT: i32 0, label [[IF_THEN]]
678
690
; CHECK-NEXT: ]
679
691
; CHECK: if.then:
680
- ; CHECK-NEXT: call void @foo1() [[ATTR3]]
692
+ ; CHECK-NEXT: call void @foo1() # [[ATTR3]]
681
693
; CHECK-NEXT: br label [[IF_END]]
682
694
; CHECK: if.end:
683
695
; CHECK-NEXT: ret void
0 commit comments