[llvm-branch-commits] [clang] [llvm] [llvm] Introduce callee_type metadata (PR #87573)

Nikita Popov via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Thu May 1 14:20:04 PDT 2025


================
@@ -5096,6 +5097,23 @@ 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);
+  CallBase *CB = cast<CallBase>(&I);
+  Check(CB->isIndirectCall(),
+        "!callee_type metadata should only exist on indirect function calls",
+        &I);
----------------
nikic wrote:

This cannot be a verifier rule, because it would mean that performing a RAUW operation can result in a verifier failure.

https://github.com/llvm/llvm-project/pull/87573


More information about the llvm-branch-commits mailing list