================
@@ -98,6 +98,21 @@ MDNode *MMRAMetadata::combine(LLVMContext &Ctx, const
MMRAMetadata &A,
return MDTuple::get(Ctx, Result);
}
+void MMRAMetadata::appendTags(Instruction &I, ArrayRef<TagT> Tags) {
+ if (Tags.empty())
+ return;
+ SmallVector<MMRAMetadata::TagT> MMRAs(Tags);
+ LLVMContext &Ctx = I.getContext();
+ if (MDNode *Existing = I.getMetadata(LLVMContext::MD_mmra)) {
+ // Merge with existing MMRA tags.
+ MMRAMetadata Parsed(Existing);
+ MMRAs.append(Parsed.begin(), Parsed.end());
+ }
+ llvm::sort(MMRAs);
+ MMRAs.erase(llvm::unique(MMRAs), MMRAs.end());
----------------
Pierre-vh wrote:
Do we need the 'llvm::' prefix? I don't think so
https://github.com/llvm/llvm-project/pull/199621
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits