================
@@ -5096,6 +5097,19 @@ void Verifier::visitCallsiteMetadata(Instruction &I,
MDNode *MD) {
visitCallStackMetadata(MD);
}
+void Verifier::visitCalleeTypeMetadata(Instruction &I, MDNode *MD) {
+ Check(isa<CallBase>(I), "!callee_type metadata should only exist on calls",
+ &I);
+ for (const MDOperand &Op : MD->operands()) {
+ Check(isa<MDNode>(Op.get()),
+ "The callee_type metadata must be a list of type metadata nodes");
+ auto *TypeMD = cast<MDNode>(Op.get());
+ Check(TypeMD->hasGeneralizedMDString(),
+ "Only generalized type metadata can be part of the callee_type "
+ "metadata list");
----------------
nikic wrote:
The CalleeTypeMetadata.rst could be clearer on this requirement.
Generalizations are mentioned, but not what this means for the metadata.
https://github.com/llvm/llvm-project/pull/87573
_______________________________________________
llvm-branch-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits