[PATCH] D15696: [ThinLTO] Enable in-place symbol changes for exporting module

Teresa Johnson via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 21 10:27:24 PST 2015


tejohnson created this revision.
tejohnson added reviewers: rafael, joker.eph.
tejohnson added subscribers: llvm-commits, davidxl.
Herald added a subscriber: joker.eph.

Move ThinLTO global value processing functions out of ModuleLinker and
into a new ThinLTOGlobalProcessor class, which performs any necessary
linkage and naming changes on the given module in place.

As a result, renameModuleForThinLTO no longer needs to create a new
Module when performing any necessary local to global promotion on a
module that we are possibly exporting from during a ThinLTO backend
compilation.

During function importing the ThinLTO processing is still invoked from
the ModuleLinker (via the new class), as it needs to perform renaming and
linkage changes on the source module, e.g. in order to get the correct
renaming during local to global promotion.

http://reviews.llvm.org/D15696

Files:
  include/llvm/Linker/Linker.h
  lib/Linker/LinkModules.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D15696.43383.patch
Type: text/x-patch
Size: 12437 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20151221/ea9cfb93/attachment.bin>


More information about the llvm-commits mailing list