[PATCH] D55627: [ThinLTO] Change locally defined symbols marked dllimport to dllexport

Matthew Voss via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Dec 12 16:13:35 PST 2018


ormris created this revision.
ormris added reviewers: tejohnson, pcc, rnk, echristo.
Herald added subscribers: dang, dexonsmith, steven_wu, eraman, inglorion, mehdi_amini.

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 setting 
dllimported functions with a local definition as dllexport.


Repository:
  rL LLVM

https://reviews.llvm.org/D55627

Files:
  include/llvm/IR/GlobalValue.h
  lib/Bitcode/Reader/BitcodeReader.cpp
  lib/LTO/LTO.cpp
  lib/Transforms/Utils/FunctionImportUtils.cpp
  test/LTO/Resolution/X86/local-def-dllimport.ll
  test/ThinLTO/X86/dsolocal_dllimport.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D55627.177970.patch
Type: text/x-patch
Size: 5346 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20181213/68330cd7/attachment.bin>


More information about the llvm-commits mailing list