[llvm] [DebugInfo] Make DIArgList inherit from Metadata and always unique (PR #72147)

Jeremy Morse via llvm-commits llvm-commits at lists.llvm.org
Thu Nov 16 04:41:41 PST 2023


================
@@ -413,33 +413,25 @@ void ReplaceableMetadataImpl::resolveAllUses(bool ResolveUsers) {
 // commentry in DIArgList::handleChangedOperand for details. Hidden behind
 // conditional compilation to avoid a compile time regression.
 ReplaceableMetadataImpl *ReplaceableMetadataImpl::getOrCreate(Metadata &MD) {
-#ifdef EXPERIMENTAL_DEBUGINFO_ITERATORS
-  if (auto *ArgList = dyn_cast<DIArgList>(&MD))
-    return ArgList->Context.getOrCreateReplaceableUses();
-#endif
   if (auto *N = dyn_cast<MDNode>(&MD))
     return N->isResolved() ? nullptr : N->Context.getOrCreateReplaceableUses();
+  if (auto ArgList = dyn_cast<DIArgList>(&MD))
+    return ArgList;
----------------
jmorse wrote:

This all sounds good given that there's no performance regression

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


More information about the llvm-commits mailing list