[PATCH] D14903: [ThinLTO] Handle bitcode without function summary sections gracefully
Teresa Johnson via llvm-commits
llvm-commits at lists.llvm.org
Sat Nov 21 08:03:09 PST 2015
tejohnson created this revision.
tejohnson added a reviewer: joker.eph.
tejohnson added a subscriber: llvm-commits.
Herald added a subscriber: joker.eph.
Several fixes to the handling of bitcode files without function summary
sections so that they are skipped during ThinLTO processing in llvm-lto
and the gold plugin when appropriate instead of aborting.
1 Don't assert when trying to add a FunctionInfo that doesn't have
a summary attached.
2 Skip FunctionInfo structures that don't have attached function summary
sections when trying to create the combined function summary.
3 In both llvm-lto and gold-plugin, check whether a bitcode file has
a function summary section before trying to parse the index, and skip
the bitcode file if it does not.
4 Fix hasFunctionSummaryInMemBuffer in BitcodeReader, which had a bug
where we returned to early while looking for the summary section.
Also added llvm-lto and gold-plugin based tests for cases where we
don't have function summaries in the bitcode file. I verified that
either the first couple fixes described above are enough to avoid the
crashes, or fixes 1,3,4. But have combined them all here for added
robustness.
http://reviews.llvm.org/D14903
Files:
include/llvm/IR/FunctionInfo.h
lib/Bitcode/Reader/BitcodeReader.cpp
lib/IR/FunctionInfo.cpp
test/Linker/funcimport.ll
test/tools/gold/X86/thinlto.ll
tools/gold/gold-plugin.cpp
tools/llvm-lto/llvm-lto.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D14903.40870.patch
Type: text/x-patch
Size: 7025 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20151121/ddb60639/attachment.bin>
More information about the llvm-commits
mailing list