[PATCH] D155818: [CloneFunction][DebugInfo] Clone DISubprogram's local types
David Blaikie via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Jul 31 09:45:05 PDT 2023
dblaikie added inline comments.
================
Comment at: llvm/lib/Transforms/Utils/CloneFunction.cpp:281-301
+ // If we cloned the type, referenced by DICompileUnit, we must add a
+ // reference on it.
+ SmallVector<Metadata *> TypesToAdd;
+ for (DIScope *S : CU->getRetainedTypes()) {
+ if (DIType *Type = dyn_cast<DIType>(S)) {
+ auto It = VMap.MD().find(Type);
+
----------------
I guess this comes up, though I'd love it if it doesn't...
When does this situation arise? I would've hoped that function-local types wouldn't appear in the CU's retained types list. It'd simplify the model if they were only retained by either the CU or the subprogram, and not both.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D155818/new/
https://reviews.llvm.org/D155818
More information about the llvm-commits
mailing list