IR: Function summary representation for type tests.
authorPeter Collingbourne <peter@pcc.me.uk>
Wed, 21 Dec 2016 23:03:45 +0000 (23:03 +0000)
committerPeter Collingbourne <peter@pcc.me.uk>
Wed, 21 Dec 2016 23:03:45 +0000 (23:03 +0000)
commit1b4137a7f902d9e67bad20c4d71fbf05c41c7855
tree606804812351e524b5404c763ede5c4ef7a5d7e0
parent76a60a8ccd38db64b1d6fa4390725ea9732e5168
IR: Function summary representation for type tests.

Each function summary has an attached list of type identifier GUIDs. The
idea is that during the regular LTO phase we would match these GUIDs to type
identifiers defined by the regular LTO module and store the resolutions in
a top-level "type identifier summary" (which will be implemented separately).

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

llvm-svn: 290280
llvm/include/llvm/Bitcode/LLVMBitCodes.h
llvm/include/llvm/IR/ModuleSummaryIndex.h
llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
llvm/lib/Bitcode/Reader/BitcodeReader.cpp
llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
llvm/test/Bitcode/thinlto-type-tests.ll [new file with mode: 0644]
llvm/test/Bitcode/thinlto-unused-type-tests.ll [new file with mode: 0644]
llvm/tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp