dblaikie added a comment. In D80369#2051681 <https://reviews.llvm.org/D80369#2051681>, @aprantl wrote:
> 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? Haven't looked. > 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. How does this data get used for Swift code and ObjC interoperability? At the moment I see no use of this IR metadata in LLVM. Does ObjC/Swift interop use the DI IR over in the Swift compiler? Got a link to the code there? > 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