referenced in a way that even the linker does not see.
Differential Revision: http://llvm-reviews.chandlerc.com/D2280
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196300
91177308-0d34-0410-b5e6-
96231b3b80d8
if (GV.hasAvailableExternallyLinkage())
return false;
+ // Assume that dllexported symbols are referenced elsewhere
+ if (GV.hasDLLExportLinkage())
+ return false;
+
// Already has internal linkage
if (GV.hasLocalLinkage())
return false;
define available_externally void @bar() {
ret void
}
+
+; ALL: define dllexport void @export_foo() {
+; FOO_AND_J: define dllexport void @export_foo() {
+; FOO_AND_BAR: define dllexport void @export_foo() {
+; FOO_J_AND_BAR: define dllexport void @export_foo() {
+define dllexport void @export_foo() {
+ ret void
+}
+