@@ -21,7 +21,7 @@ declare void @quux()
21
21
; booleans where at least one operand is true/false/undef.
22
22
23
23
;.
24
- ; CHECK: @[[ANCHOR:[a-zA-Z0-9_$"\\.-]+]] = constant [3 x ptr] [ptr blockaddress(@test_indirectbr, [[L1:%.*]] ), ptr inttoptr (i32 1 to ptr), ptr blockaddress(@test_indirectbr, [[L3:%.*]] )]
24
+ ; CHECK-BPI : @anchor = constant [3 x ptr] [ptr blockaddress(@test_indirectbr, %L1 ), ptr inttoptr (i32 1 to ptr), ptr blockaddress(@test_indirectbr, %L3 )]
25
25
;.
26
26
define void @test_br (i1 %cond , i1 %value ) nounwind {
27
27
; CHECK-LABEL: @test_br(
@@ -66,8 +66,8 @@ define void @test_switch(i1 %cond, i8 %value) nounwind {
66
66
; CHECK-NEXT: call void @quux()
67
67
; CHECK-NEXT: [[EXPR:%.*]] = select i1 [[COND]], i8 1, i8 [[VALUE:%.*]]
68
68
; CHECK-NEXT: switch i8 [[EXPR]], label [[L3:%.*]] [
69
- ; CHECK-NEXT: i8 1, label [[L1]]
70
- ; CHECK-NEXT: i8 2, label [[L2:%.*]]
69
+ ; CHECK-NEXT: i8 1, label [[L1]]
70
+ ; CHECK-NEXT: i8 2, label [[L2:%.*]]
71
71
; CHECK-NEXT: ]
72
72
; CHECK: L1:
73
73
; CHECK-NEXT: call void @foo()
@@ -192,8 +192,8 @@ define void @test_switch_cmp(i1 %cond, i32 %val, i8 %value) nounwind {
192
192
; CHECK: 0:
193
193
; CHECK-NEXT: [[TMP1:%.*]] = phi i8 [ [[VALUE:%.*]], [[L0]] ]
194
194
; CHECK-NEXT: switch i8 [[TMP1]], label [[L3:%.*]] [
195
- ; CHECK-NEXT: i8 1, label [[L1]]
196
- ; CHECK-NEXT: i8 2, label [[L2:%.*]]
195
+ ; CHECK-NEXT: i8 1, label [[L1]]
196
+ ; CHECK-NEXT: i8 2, label [[L2:%.*]]
197
197
; CHECK-NEXT: ]
198
198
; CHECK: L1:
199
199
; CHECK-NEXT: call void @foo()
@@ -237,8 +237,8 @@ define void @test_switch_default(ptr nocapture %status) nounwind {
237
237
; CHECK-NEXT: entry:
238
238
; CHECK-NEXT: [[TMP0:%.*]] = load i32, ptr [[STATUS:%.*]], align 4
239
239
; CHECK-NEXT: switch i32 [[TMP0]], label [[L2:%.*]] [
240
- ; CHECK-NEXT: i32 5061, label [[L2_THREAD:%.*]]
241
- ; CHECK-NEXT: i32 0, label [[L2]]
240
+ ; CHECK-NEXT: i32 5061, label [[L2_THREAD:%.*]]
241
+ ; CHECK-NEXT: i32 0, label [[L2]]
242
242
; CHECK-NEXT: ]
243
243
; CHECK: L2.thread:
244
244
; CHECK-NEXT: store i32 10025, ptr [[STATUS]], align 4
@@ -377,21 +377,21 @@ define i32 @unfold3(i32 %u, i32 %v, i32 %w, i32 %x, i32 %y, i32 %z, i32 %j) noun
377
377
; CHECK-NEXT: br i1 [[CMP_I]], label [[DOTEXIT_THREAD4:%.*]], label [[COND_FALSE_I:%.*]]
378
378
; CHECK: cond.false.i:
379
379
; CHECK-NEXT: [[CMP4_I:%.*]] = icmp sgt i32 [[U]], [[V]]
380
- ; CHECK-NEXT: br i1 [[CMP4_I]], label [[DOTEXIT_THREAD:%.* ]], label [[COND_FALSE_6_I:%.*]]
380
+ ; CHECK-NEXT: br i1 [[CMP4_I]], label [[DOTEXIT_THREAD4 ]], label [[COND_FALSE_6_I:%.*]]
381
381
; CHECK: cond.false.6.i:
382
382
; CHECK-NEXT: [[CMP8_I:%.*]] = icmp slt i32 [[W:%.*]], [[X:%.*]]
383
383
; CHECK-NEXT: br i1 [[CMP8_I]], label [[DOTEXIT_THREAD4]], label [[COND_FALSE_10_I:%.*]]
384
384
; CHECK: cond.false.10.i:
385
385
; CHECK-NEXT: [[CMP13_I:%.*]] = icmp sgt i32 [[W]], [[X]]
386
- ; CHECK-NEXT: br i1 [[CMP13_I]], label [[DOTEXIT_THREAD ]], label [[DOTEXIT:%.*]]
386
+ ; CHECK-NEXT: br i1 [[CMP13_I]], label [[DOTEXIT_THREAD4 ]], label [[DOTEXIT:%.*]]
387
387
; CHECK: .exit:
388
388
; CHECK-NEXT: [[PHITMP:%.*]] = icmp sge i32 [[Y:%.*]], [[Z:%.*]]
389
389
; CHECK-NEXT: [[COND_FR:%.*]] = freeze i1 [[PHITMP]]
390
- ; CHECK-NEXT: br i1 [[COND_FR]], label [[DOTEXIT_THREAD]], label [[DOTEXIT_THREAD4]]
391
- ; CHECK: .exit.thread :
390
+ ; CHECK-NEXT: br i1 [[COND_FR]], label [[DOTEXIT_THREAD:%.* ]], label [[DOTEXIT_THREAD4]]
391
+ ; CHECK: 0 :
392
392
; CHECK-NEXT: br label [[DOTEXIT_THREAD4]]
393
- ; CHECK: .exit.thread4 :
394
- ; CHECK-NEXT: [[TMP0:%.*]] = phi i32 [ [[J]], [[DOTEXIT_THREAD]] ], [ [[ADD3 ]], [[DOTEXIT ]] ], [ [[ADD3]], [[ENTRY:%.*]] ], [ [[ADD3]], [[COND_FALSE_6_I]] ]
393
+ ; CHECK: .exit.thread :
394
+ ; CHECK-NEXT: [[TMP0:%.*]] = phi i32 [ [[ADD3]], [[DOTEXIT]] ], [ [[ J]], [[DOTEXIT_THREAD]] ], [ [[J ]], [[COND_FALSE_I]] ], [ [[J]], [[COND_FALSE_10_I ]] ], [ [[ADD3]], [[ENTRY:%.*]] ], [ [[ADD3]], [[COND_FALSE_6_I]] ]
395
395
; CHECK-NEXT: ret i32 [[TMP0]]
396
396
;
397
397
entry:
@@ -430,23 +430,23 @@ define i32 @unfold4(i32 %u, i32 %v, i32 %w, i32 %x, i32 %y, i32 %z, i32 %j) noun
430
430
; CHECK-NEXT: br i1 [[CMP_I]], label [[DOTEXIT_THREAD:%.*]], label [[COND_FALSE_I:%.*]]
431
431
; CHECK: cond.false.i:
432
432
; CHECK-NEXT: [[CMP4_I:%.*]] = icmp sgt i32 [[U]], [[V]]
433
- ; CHECK-NEXT: br i1 [[CMP4_I]], label [[DOTEXIT_THREAD5:%.* ]], label [[COND_FALSE_6_I:%.*]]
433
+ ; CHECK-NEXT: br i1 [[CMP4_I]], label [[DOTEXIT_THREAD ]], label [[COND_FALSE_6_I:%.*]]
434
434
; CHECK: cond.false.6.i:
435
435
; CHECK-NEXT: [[CMP8_I:%.*]] = icmp slt i32 [[W:%.*]], [[X:%.*]]
436
436
; CHECK-NEXT: br i1 [[CMP8_I]], label [[DOTEXIT_THREAD]], label [[COND_FALSE_10_I:%.*]]
437
437
; CHECK: cond.false.10.i:
438
438
; CHECK-NEXT: [[CMP13_I:%.*]] = icmp sgt i32 [[W]], [[X]]
439
- ; CHECK-NEXT: br i1 [[CMP13_I]], label [[DOTEXIT_THREAD5 ]], label [[DOTEXIT:%.*]]
439
+ ; CHECK-NEXT: br i1 [[CMP13_I]], label [[DOTEXIT_THREAD ]], label [[DOTEXIT:%.*]]
440
440
; CHECK: .exit:
441
441
; CHECK-NEXT: [[CMP19_I:%.*]] = icmp sge i32 [[Y:%.*]], [[Z:%.*]]
442
442
; CHECK-NEXT: [[CONV:%.*]] = zext i1 [[CMP19_I]] to i32
443
443
; CHECK-NEXT: [[LNOT_I18:%.*]] = icmp eq i32 [[CONV]], 1
444
444
; CHECK-NEXT: [[COND_FR:%.*]] = freeze i1 [[LNOT_I18]]
445
- ; CHECK-NEXT: br i1 [[COND_FR]], label [[DOTEXIT_THREAD]], label [[DOTEXIT_THREAD5]]
445
+ ; CHECK-NEXT: br i1 [[COND_FR]], label [[TMP1:%.*]], label [[DOTEXIT_THREAD]]
446
+ ; CHECK: 0:
447
+ ; CHECK-NEXT: br label [[DOTEXIT_THREAD]]
446
448
; CHECK: .exit.thread:
447
- ; CHECK-NEXT: br label [[DOTEXIT_THREAD5]]
448
- ; CHECK: .exit.thread5:
449
- ; CHECK-NEXT: [[TMP0:%.*]] = phi i32 [ [[J]], [[DOTEXIT_THREAD]] ], [ [[ADD3]], [[DOTEXIT]] ], [ [[ADD3]], [[COND_FALSE_I]] ], [ [[ADD3]], [[COND_FALSE_10_I]] ]
449
+ ; CHECK-NEXT: [[TMP0:%.*]] = phi i32 [ [[ADD3]], [[DOTEXIT]] ], [ [[J]], [[TMP1]] ], [ [[J]], [[ENTRY:%.*]] ], [ [[J]], [[COND_FALSE_6_I]] ], [ [[ADD3]], [[COND_FALSE_I]] ], [ [[ADD3]], [[COND_FALSE_10_I]] ]
450
450
; CHECK-NEXT: ret i32 [[TMP0]]
451
451
;
452
452
entry:
@@ -560,10 +560,10 @@ define void @test_func(ptr nocapture readonly %a, ptr nocapture readonly %b, ptr
560
560
; CHECK: if.end:
561
561
; CHECK-NEXT: [[LOCAL_VAR_0:%.*]] = phi i32 [ [[TMP1]], [[FOR_BODY]] ]
562
562
; CHECK-NEXT: switch i32 [[LOCAL_VAR_0]], label [[SW_DEFAULT]] [
563
- ; CHECK-NEXT: i32 2, label [[SW_BB]]
564
- ; CHECK-NEXT: i32 4, label [[SW_BB7]]
565
- ; CHECK-NEXT: i32 5, label [[SW_BB8:%.*]]
566
- ; CHECK-NEXT: i32 7, label [[SW_BB9:%.*]]
563
+ ; CHECK-NEXT: i32 2, label [[SW_BB]]
564
+ ; CHECK-NEXT: i32 4, label [[SW_BB7]]
565
+ ; CHECK-NEXT: i32 5, label [[SW_BB8:%.*]]
566
+ ; CHECK-NEXT: i32 7, label [[SW_BB9:%.*]]
567
567
; CHECK-NEXT: ]
568
568
; CHECK: sw.bb:
569
569
; CHECK-NEXT: call void @foo()
@@ -669,8 +669,10 @@ if.end:
669
669
!0 = !{!"branch_weights" , i64 1073741824 , i64 3221225472 }
670
670
!1 = !{!"function_entry_count" , i64 1984 }
671
671
;.
672
- ; CHECK: attributes #[[ATTR0:[0-9]+]] = { nounwind }
672
+ ; CHECK-BPI : attributes #[[ATTR0:[0-9]+]] = { nounwind }
673
673
;.
674
- ; CHECK: [[META0:![0-9]+]] = !{!"function_entry_count", i64 1984}
675
- ; CHECK: [[PROF1]] = !{!"branch_weights", i64 1073741824, i64 3221225472}
674
+ ; CHECK-BPI : [[META0:![0-9]+]] = !{!"function_entry_count", i64 1984}
675
+ ; CHECK-BPI : [[PROF1]] = !{!"branch_weights", i64 1073741824, i64 3221225472}
676
676
;.
677
+ ;; NOTE: These prefixes are unused and the list is autogenerated. Do not add tests below this line:
678
+ ; CHECK-BPI: {{.*}}
0 commit comments