diff --git a/llvm/lib/IR/Metadata.cpp b/llvm/lib/IR/Metadata.cpp --- a/llvm/lib/IR/Metadata.cpp +++ b/llvm/lib/IR/Metadata.cpp @@ -1551,8 +1551,10 @@ if (Existing) { auto *Tuple = cast(Existing); for (auto &N : Tuple->operands()) { - if (isa(N.get())) + if (isa(N.get())) { + Names.push_back(N); continue; + } auto *MDAnnotationTuple = cast(N); if (any_of(MDAnnotationTuple->operands(), [&AnnotationsSet](auto &Op) { return AnnotationsSet.contains(cast(Op)->getString());