summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
diff options
context:
space:
mode:
authorTeresa Johnson <tejohnson@google.com>2015-11-21 21:55:48 +0000
committerTeresa Johnson <tejohnson@google.com>2015-11-21 21:55:48 +0000
commit6290dbc0f7f71dbf9e5408a1b4222cbbfba43bdb (patch)
tree08a37c7cc3b671a0a5a0cd2533adc14c7110f426 /llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
parent2829c1cf7b21d003e30a214d2414cbdbd40417d1 (diff)
downloadbcm5719-llvm-6290dbc0f7f71dbf9e5408a1b4222cbbfba43bdb.tar.gz
bcm5719-llvm-6290dbc0f7f71dbf9e5408a1b4222cbbfba43bdb.zip
[ThinLTO] Handle bitcode without function summary sections gracefully
Summary: 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. Reviewers: joker.eph Subscribers: llvm-commits, joker.eph Differential Revision: http://reviews.llvm.org/D14903 llvm-svn: 253796
Diffstat (limited to 'llvm/lib/Bitcode/Writer/ValueEnumerator.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud