[PATCH] D33614: Cloning: Fix debug info cloning

David Blaikie via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat May 27 12:27:27 PDT 2017


dblaikie accepted this revision.
dblaikie added a comment.
This revision is now accepted and ready to land.

Looks good enough  to unblock coroutine work.

Adrian, when you get a chance, could you look this over & make any better/longer-term fixes?

My rough thoughts are:
DILocalVariables aren't distinct when clang creates them, so probably fine not to create them distinct here. But perhaps that decision, globally, should be revisited (& in that case add a function-wide caching for this cloning step).

Linkage name - While preserving it ensures that it won't conflict with the DISubprogram representing the function declaration, if there is one, it seems wrong because this function now has a potentially different linkage name. I'd thought "if there is a declaration, remove the linkage name", but maybe that's not even right - may be that the right thing is to actually have a different linkage name from the one on the declaration? Not sure.


https://reviews.llvm.org/D33614





More information about the llvm-commits mailing list