aprantl added a comment. In D80369#2051278 <https://reviews.llvm.org/D80369#2051278>, @dblaikie wrote:
> @aprantl can you check here? I've attached two IR files for the > ModuleDebugInfo.m test, before/after ('x' is before), stripped of the > metadata numbers to make diffing easier - but I think you can still follow > what's connected to what with reasonable guesswork. The point is these two > function declarations end up in the retainedTypes list, and since the > function declarations are emitted, so are the types used in their parameters, > etc - but those types aren't reachable from anywhere else in the debug info > metadata, so they won't be emitted into the final object file so far as I can > see (because nothing looks at the function declarations in retainedTypes - > only types). > > F11980002: x.ll <https://reviews.llvm.org/F11980002> > > F11980001: y.ll <https://reviews.llvm.org/F11980001> These two files are for the C++ test, not the Objective-C one. Is the Objective-C case similar? If there is no explicit CHECK line for the types anchored by the function calls, removing them is fine. However, for ObjC there is explicit code in `clang/lib/CodeGen/ObjectFilePCHContainerOperations.cpp` `DebugTypeVisitor::VisitFunctionDecl()` to emit the Objective-C methods. I do want to keep this functionality; it's needed for debugging Swift code with ObjC interoperability. I would be fine with manually adding everything created by this particular visitor to the retained types if that makes the separation easier. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D80369/new/ https://reviews.llvm.org/D80369 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits