]> granicus.if.org Git - clang/commit
[ThinLTO] Optionally ignore empty index file
authorTeresa Johnson <tejohnson@google.com>
Fri, 6 Jan 2017 23:37:33 +0000 (23:37 +0000)
committerTeresa Johnson <tejohnson@google.com>
Fri, 6 Jan 2017 23:37:33 +0000 (23:37 +0000)
commit2d274eab5705e7e6dcc988ba6a95647a6280d29b
tree66a2911ee2fe647d3644f8a18e5b69f6af83e2b9
parenteb5173196b1949f3c7b3abcbb4673614d9dab601
[ThinLTO] Optionally ignore empty index file

Summary:
In order to simplify distributed build system integration, where actions
may be scheduled before the Thin Link which determines the list of
objects selected by the linker. The gold plugin currently will emit
0-sized index files for objects not selected by the link, to enable
checking for expected output files by the build system. If the build
system then schedules a backend action for these bitcode files, we want
to be able to fall back to normal compilation instead of failing.

Fallback is enabled under an option in LLVM (D28410), in which case a
nullptr is returned from llvm::getModuleSummaryIndexForFile. Clang can
just proceed with non-ThinLTO compilation in that case.

I am investigating whether this can be addressed in our build system,
but that is a longer term fix and so this enables a workaround in the
meantime.

Reviewers: mehdi_amini

Subscribers: cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@291303 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/BackendUtil.cpp
test/CodeGen/thinlto_backend.ll