[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 Jun 5 06:18:42 PDT 2025


================
@@ -1302,6 +1302,24 @@ static void addRange(SmallVectorImpl<ConstantInt *> &EndPoints,
   EndPoints.push_back(High);
 }
 
+MDNode *MDNode::getMergedCalleeTypeMetadata(LLVMContext &Ctx, MDNode *A,
+                                            MDNode *B) {
+  SmallVector<Metadata *, 8> AB;
+  SmallSet<Metadata *, 8> MergedCallees;
+  auto AddUniqueCallees = [&AB, &MergedCallees](llvm::MDNode *N) {
+    if (!N)
+      return;
+    for (const MDOperand &Op : N->operands()) {
+      Metadata *MD = Op.get();
+      if (MergedCallees.insert(MD).second)
+        AB.push_back(MD);
+    }
+  };
+  AddUniqueCallees(A);
+  AddUniqueCallees(B);
+  return llvm::MDNode::get(Ctx, AB);
----------------
nikic wrote:

```suggestion
  return MDNode::get(Ctx, AB);
```

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


More information about the llvm-branch-commits mailing list