llvm-project/llvm/lib/LTO
Matthew Voss 62fcfc5adb [ThinLTO] Remove dllimport attribute from locally defined symbols
Summary:
The LTO/ThinLTO driver currently creates invalid bitcode by setting 
symbols marked dllimport as dso_local. The compiler often has access 
to the definition (often dllexport) and the declaration (often 
dllimport) of an object at link-time, leading to a conflicting 
declaration. This patch resolves the inconsistency by removing the
dllimport attribute.

Reviewers: tejohnson, pcc, rnk, echristo

Reviewed By: rnk

Subscribers: dmikulin, wristow, mehdi_amini, inglorion, eraman, steven_wu, dexonsmith, dang, llvm-commits

Differential Revision: https://reviews.llvm.org/D55627

llvm-svn: 349667
2018-12-19 19:07:45 +00:00
..
CMakeLists.txt [ThinLTO] Compute synthetic function entry count 2018-12-13 19:54:27 +00:00
Caching.cpp [ThinLTO] Update ThinLTO cache file atimes when on Windows 2018-07-04 14:17:10 +00:00
LLVMBuild.txt NFC: Move ObjectMemoryBuffer to support 2018-04-15 05:17:14 +00:00
LTO.cpp [ThinLTO] Remove dllimport attribute from locally defined symbols 2018-12-19 19:07:45 +00:00
LTOBackend.cpp [LTO] Drop non-prevailing definitions only if linkage is not local or appending 2018-11-08 20:10:07 +00:00
LTOCodeGenerator.cpp [PassTiming] cleaning up legacy PassTimingInfo interface. NFCI. 2018-09-26 13:01:43 +00:00
LTOModule.cpp [Support] Make error banner optional in logAllUnhandledErrors 2018-11-11 01:46:03 +00:00
SummaryBasedOptimizations.cpp [ThinLTO] Compute synthetic function entry count 2018-12-13 19:54:27 +00:00
ThinLTOCodeGenerator.cpp [ThinLTO] Compute synthetic function entry count 2018-12-13 19:54:27 +00:00
UpdateCompilerUsed.cpp [LTO] Account for overriding lib calls via the alias attribute 2018-10-10 22:54:31 +00:00