OSDN Git Service

Restore "[ThinLTO] Emit individual index files for distributed backends"
authorTeresa Johnson <tejohnson@google.com>
Tue, 10 May 2016 13:48:23 +0000 (13:48 +0000)
committerTeresa Johnson <tejohnson@google.com>
Tue, 10 May 2016 13:48:23 +0000 (13:48 +0000)
commit27af205ce1ad085cbc9c558f48d16521592d27fa
tree3ff5aa5df63f9b2985ce514565e20d12a06adefe
parent598682f15c65a54f1e7eeedaeab66fd8ad594aa5
Restore "[ThinLTO] Emit individual index files for distributed backends"

This restores commit r268627:
    Summary:
    When launching ThinLTO backends in a distributed build (currently
    supported in gold via the thinlto-index-only plugin option), emit
    an individual index file for each backend process as described here:
    http://lists.llvm.org/pipermail/llvm-dev/2016-April/098272.html

    ...

    Differential Revision: http://reviews.llvm.org/D19556

Address msan failures by avoiding std::prev on map.end(), the
theory is that this is causing issues due to some known UB problems
in __tree.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269059 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Bitcode/ReaderWriter.h
include/llvm/LTO/ThinLTOCodeGenerator.h
include/llvm/Transforms/IPO/FunctionImport.h
lib/Bitcode/Writer/BitcodeWriter.cpp
lib/LTO/ThinLTOCodeGenerator.cpp
lib/Transforms/IPO/FunctionImport.cpp
test/ThinLTO/X86/Inputs/distributed_indexes.ll [new file with mode: 0644]
test/ThinLTO/X86/distributed_indexes.ll [new file with mode: 0644]
test/tools/gold/X86/thinlto.ll
tools/gold/gold-plugin.cpp
tools/llvm-lto/llvm-lto.cpp