[PATCH] D31270: [wip] IR: Move linker options to top-level global metadata and remove dllexport storage class.

Peter Collingbourne via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Mar 24 10:50:40 PDT 2017


pcc added a comment.

> Furthermore, by your account, this isn't even the representation we want to end up with. In the long term, we should completely fold dllimport and dllexport into symbol visibility.

That isn't really my position though. dllexport is similar to symbol visibility, but does not have the same merging semantics (see discussion with Rafael). dllimport can be seen as orthogonal to visibility, but I imagine that one possible alternative to https://reviews.llvm.org/D20217 would be to create a visibility that means "default but known DSO-local". So I can understand your perspective with regard to dllimport at least.

> The obvious compromise position that doesn't involve completely changing how every Windows frontend works is to take your global metadata idea and have it be an opt-in feature usable on an arbitrary symbol name.

I think that would at least move us in the right direction. I will try changing the IRMover to create metadata for each dllexport symbol that is not linked into the target module.


https://reviews.llvm.org/D31270





More information about the llvm-commits mailing list