Skip to content

Commit 5be0d4b

Browse files
committed
change
1 parent 2f7a277 commit 5be0d4b

File tree

3 files changed

+8
-54
lines changed

3 files changed

+8
-54
lines changed

llvm/lib/IR/Verifier.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5008,6 +5008,9 @@ void Verifier::visitProfMetadata(Instruction &I, MDNode *MD) {
50085008
Check(mdconst::dyn_extract<ConstantInt>(MDO),
50095009
"!prof brunch_weights operand is not a const int");
50105010
}
5011+
} else {
5012+
Check(ProfName == "VP", "expected either branch_weights or VP profile name",
5013+
MD);
50115014
}
50125015
}
50135016

llvm/test/Transforms/SimplifyCFG/preserve-branchweights.ll

Lines changed: 5 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -38,45 +38,12 @@ Z:
3838
ret void
3939
}
4040

41-
; Make sure the metadata name string is "branch_weights" before propagating it.
42-
43-
define void @fake_weights(i1 %a, i1 %b) {
44-
; CHECK-LABEL: @fake_weights(
45-
; CHECK-NEXT: entry:
46-
; CHECK-NEXT: [[A_NOT:%.*]] = xor i1 [[A:%.*]], true
47-
; CHECK-NEXT: [[C:%.*]] = or i1 [[B:%.*]], false
48-
; CHECK-NEXT: [[OR_COND:%.*]] = select i1 [[A_NOT]], i1 [[C]], i1 false
49-
; CHECK-NEXT: br i1 [[OR_COND]], label [[Z:%.*]], label [[Y:%.*]], !prof [[PROF1:![0-9]+]]
50-
; CHECK: common.ret:
51-
; CHECK-NEXT: ret void
52-
; CHECK: Y:
53-
; CHECK-NEXT: call void @helper(i32 0)
54-
; CHECK-NEXT: br label [[COMMON_RET:%.*]]
55-
; CHECK: Z:
56-
; CHECK-NEXT: call void @helper(i32 1)
57-
; CHECK-NEXT: br label [[COMMON_RET]]
58-
;
59-
entry:
60-
br i1 %a, label %Y, label %X, !prof !12
61-
X:
62-
%c = or i1 %b, false
63-
br i1 %c, label %Z, label %Y, !prof !1
64-
65-
Y:
66-
call void @helper(i32 0)
67-
ret void
68-
69-
Z:
70-
call void @helper(i32 1)
71-
ret void
72-
}
73-
7441
define void @test2(i1 %a, i1 %b) {
7542
; CHECK-LABEL: @test2(
7643
; CHECK-NEXT: entry:
7744
; CHECK-NEXT: [[C:%.*]] = or i1 [[B:%.*]], false
7845
; CHECK-NEXT: [[OR_COND:%.*]] = select i1 [[A:%.*]], i1 [[C]], i1 false
79-
; CHECK-NEXT: br i1 [[OR_COND]], label [[Z:%.*]], label [[Y:%.*]], !prof [[PROF2:![0-9]+]]
46+
; CHECK-NEXT: br i1 [[OR_COND]], label [[Z:%.*]], label [[Y:%.*]], !prof [[PROF1:![0-9]+]]
8047
; CHECK: common.ret:
8148
; CHECK-NEXT: ret void
8249
; CHECK: Y:
@@ -107,7 +74,7 @@ define void @test3(i1 %a, i1 %b) {
10774
; CHECK-NEXT: entry:
10875
; CHECK-NEXT: [[C:%.*]] = or i1 [[B:%.*]], false
10976
; CHECK-NEXT: [[OR_COND:%.*]] = select i1 [[A:%.*]], i1 [[C]], i1 false
110-
; CHECK-NEXT: br i1 [[OR_COND]], label [[Z:%.*]], label [[Y:%.*]], !prof [[PROF1]]
77+
; CHECK-NEXT: br i1 [[OR_COND]], label [[Z:%.*]], label [[Y:%.*]], !prof [[PROF2:![0-9]+]]
11178
; CHECK: common.ret:
11279
; CHECK-NEXT: ret void
11380
; CHECK: Y:
@@ -138,7 +105,7 @@ define void @test4(i1 %a, i1 %b) {
138105
; CHECK-NEXT: entry:
139106
; CHECK-NEXT: [[C:%.*]] = or i1 [[B:%.*]], false
140107
; CHECK-NEXT: [[OR_COND:%.*]] = select i1 [[A:%.*]], i1 [[C]], i1 false
141-
; CHECK-NEXT: br i1 [[OR_COND]], label [[Z:%.*]], label [[Y:%.*]], !prof [[PROF1]]
108+
; CHECK-NEXT: br i1 [[OR_COND]], label [[Z:%.*]], label [[Y:%.*]], !prof [[PROF2]]
142109
; CHECK: common.ret:
143110
; CHECK-NEXT: ret void
144111
; CHECK: Y:
@@ -1136,8 +1103,8 @@ exit:
11361103
; CHECK: attributes #[[ATTR2:[0-9]+]] = { noredzone nounwind ssp memory(none) }
11371104
;.
11381105
; CHECK: [[PROF0]] = !{!"branch_weights", i32 5, i32 11}
1139-
; CHECK: [[PROF1]] = !{!"branch_weights", i32 1, i32 3}
1140-
; CHECK: [[PROF2]] = !{!"branch_weights", i32 1, i32 5}
1106+
; CHECK: [[PROF1]] = !{!"branch_weights", i32 1, i32 5}
1107+
; CHECK: [[PROF2]] = !{!"branch_weights", i32 1, i32 3}
11411108
; CHECK: [[PROF3]] = !{!"branch_weights", i32 7, i32 1, i32 2}
11421109
; CHECK: [[PROF4]] = !{!"branch_weights", i32 49, i32 12, i32 24, i32 35}
11431110
; CHECK: [[PROF5]] = !{!"branch_weights", i32 11, i32 5}

mlir/test/Target/LLVMIR/Import/import-failure.ll

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -258,22 +258,6 @@ end:
258258

259259
; // -----
260260

261-
; CHECK: <unknown>
262-
; CHECK-SAME: warning: expected function_entry_count to be attached to a function
263-
; CHECK: warning: unhandled metadata: !0 = !{!"function_entry_count", i64 42}
264-
define void @cond_br(i1 %arg) {
265-
entry:
266-
br i1 %arg, label %bb1, label %bb2, !prof !0
267-
bb1:
268-
ret void
269-
bb2:
270-
ret void
271-
}
272-
273-
!0 = !{!"function_entry_count", i64 42}
274-
275-
; // -----
276-
277261
; CHECK: <unknown>
278262
; CHECK-SAME: warning: dropped instruction: call void @llvm.experimental.noalias.scope.decl(metadata !0)
279263
define void @unused_scope() {

0 commit comments

Comments
 (0)