@@ -21,7 +21,7 @@ declare void @quux()
2121; booleans where at least one operand is true/false/undef.
2222
2323;.
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 )]
2525;.
2626define void @test_br (i1 %cond , i1 %value ) nounwind {
2727; CHECK-LABEL: @test_br(
@@ -66,8 +66,8 @@ define void @test_switch(i1 %cond, i8 %value) nounwind {
6666; CHECK-NEXT: call void @quux()
6767; CHECK-NEXT: [[EXPR:%.*]] = select i1 [[COND]], i8 1, i8 [[VALUE:%.*]]
6868; 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:%.*]]
7171; CHECK-NEXT: ]
7272; CHECK: L1:
7373; CHECK-NEXT: call void @foo()
@@ -192,8 +192,8 @@ define void @test_switch_cmp(i1 %cond, i32 %val, i8 %value) nounwind {
192192; CHECK: 0:
193193; CHECK-NEXT: [[TMP1:%.*]] = phi i8 [ [[VALUE:%.*]], [[L0]] ]
194194; 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:%.*]]
197197; CHECK-NEXT: ]
198198; CHECK: L1:
199199; CHECK-NEXT: call void @foo()
@@ -237,8 +237,8 @@ define void @test_switch_default(ptr nocapture %status) nounwind {
237237; CHECK-NEXT: entry:
238238; CHECK-NEXT: [[TMP0:%.*]] = load i32, ptr [[STATUS:%.*]], align 4
239239; 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]]
242242; CHECK-NEXT: ]
243243; CHECK: L2.thread:
244244; 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
377377; CHECK-NEXT: br i1 [[CMP_I]], label [[DOTEXIT_THREAD4:%.*]], label [[COND_FALSE_I:%.*]]
378378; CHECK: cond.false.i:
379379; 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:%.*]]
381381; CHECK: cond.false.6.i:
382382; CHECK-NEXT: [[CMP8_I:%.*]] = icmp slt i32 [[W:%.*]], [[X:%.*]]
383383; CHECK-NEXT: br i1 [[CMP8_I]], label [[DOTEXIT_THREAD4]], label [[COND_FALSE_10_I:%.*]]
384384; CHECK: cond.false.10.i:
385385; 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:%.*]]
387387; CHECK: .exit:
388388; CHECK-NEXT: [[PHITMP:%.*]] = icmp sge i32 [[Y:%.*]], [[Z:%.*]]
389389; 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 :
392392; 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]] ]
395395; CHECK-NEXT: ret i32 [[TMP0]]
396396;
397397entry:
@@ -430,23 +430,23 @@ define i32 @unfold4(i32 %u, i32 %v, i32 %w, i32 %x, i32 %y, i32 %z, i32 %j) noun
430430; CHECK-NEXT: br i1 [[CMP_I]], label [[DOTEXIT_THREAD:%.*]], label [[COND_FALSE_I:%.*]]
431431; CHECK: cond.false.i:
432432; 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:%.*]]
434434; CHECK: cond.false.6.i:
435435; CHECK-NEXT: [[CMP8_I:%.*]] = icmp slt i32 [[W:%.*]], [[X:%.*]]
436436; CHECK-NEXT: br i1 [[CMP8_I]], label [[DOTEXIT_THREAD]], label [[COND_FALSE_10_I:%.*]]
437437; CHECK: cond.false.10.i:
438438; 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:%.*]]
440440; CHECK: .exit:
441441; CHECK-NEXT: [[CMP19_I:%.*]] = icmp sge i32 [[Y:%.*]], [[Z:%.*]]
442442; CHECK-NEXT: [[CONV:%.*]] = zext i1 [[CMP19_I]] to i32
443443; CHECK-NEXT: [[LNOT_I18:%.*]] = icmp eq i32 [[CONV]], 1
444444; 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]]
446448; 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]] ]
450450; CHECK-NEXT: ret i32 [[TMP0]]
451451;
452452entry:
@@ -560,10 +560,10 @@ define void @test_func(ptr nocapture readonly %a, ptr nocapture readonly %b, ptr
560560; CHECK: if.end:
561561; CHECK-NEXT: [[LOCAL_VAR_0:%.*]] = phi i32 [ [[TMP1]], [[FOR_BODY]] ]
562562; 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:%.*]]
567567; CHECK-NEXT: ]
568568; CHECK: sw.bb:
569569; CHECK-NEXT: call void @foo()
@@ -669,8 +669,10 @@ if.end:
669669!0 = !{!"branch_weights" , i64 1073741824 , i64 3221225472 }
670670!1 = !{!"function_entry_count" , i64 1984 }
671671;.
672- ; CHECK: attributes #[[ATTR0:[0-9]+]] = { nounwind }
672+ ; CHECK-BPI : attributes #[[ATTR0:[0-9]+]] = { nounwind }
673673;.
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}
676676;.
677+ ;; NOTE: These prefixes are unused and the list is autogenerated. Do not add tests below this line:
678+ ; CHECK-BPI: {{.*}}
0 commit comments