[llvm] Metadata: Optimize metadata queries (PR #70700)

Nikita Popov via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 30 12:15:32 PDT 2023


================
@@ -1461,7 +1464,15 @@ void Instruction::setMetadata(StringRef Kind, MDNode *Node) {
 }
 
 MDNode *Instruction::getMetadataImpl(StringRef Kind) const {
-  return getMetadataImpl(getContext().getMDKindID(Kind));
+  const LLVMContext &Ctx = getContext();
+  unsigned KindID = Ctx.getMDKindID(Kind);
+  if (KindID == LLVMContext::MD_dbg) {
+    return DbgLoc.getAsMDNode();
+  }
+  if (hasMetadataOtherThanDebugLoc()) {
+    return getValueMetadata(*this, KindID, Ctx);
+  }
----------------
nikic wrote:

Braces

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


More information about the llvm-commits mailing list