llvm-project/llvm/test/Bitcode/Inputs
Teresa Johnson 76a1c1d0ba [ThinLTO] Support for reference graph in per-module and combined summary.
Summary:
This patch adds support for including a full reference graph including
call graph edges and other GV references in the summary.

The reference graph edges can be used to make importing decisions
without materializing any source modules, can be used in the plugin
to make file staging decisions for distributed build systems, and is
expected to have other uses.

The call graph edges are recorded in each function summary in the
bitcode via a list of <CalleeValueIds, StaticCount> tuples when no PGO
data exists, or <CalleeValueId, StaticCount, ProfileCount> pairs when
there is PGO, where the ValueId can be mapped to the function GUID via
the ValueSymbolTable. In the function index in memory, the call graph
edges reference the target via the CalleeGUID instead of the
CalleeValueId.

The reference graph edges are recorded in each summary record with a
list of referenced value IDs, which can be mapped to value GUID via the
ValueSymbolTable.

Addtionally, a new summary record type is added to record references
from global variable initializers. A number of bitcode records and data
structures have been renamed to reflect the newly expanded scope of the
summary beyond functions. More cleanup will follow.

Reviewers: joker.eph, davidxl

Subscribers: joker.eph, llvm-commits

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

llvm-svn: 263275
2016-03-11 18:52:24 +00:00
..
PR23310.bc Fix for PR23310: llvm-dis crashes when trying to upgrade an intrinsic. 2015-07-02 16:22:40 +00:00
invalid-GCTable-overflow.bc Don't overflow GCTable 2015-04-30 04:09:41 +00:00
invalid-abbrev-fixed-size-too-big.bc
invalid-abbrev-no-operands.bc [BitcodeReader] Make sure abbrev records have at least one operand (record code) 2015-05-26 23:52:21 +00:00
invalid-abbrev-vbr-size-too-big.bc
invalid-abbrev.bc Fix testing for end of stream in bitstream reader. 2015-08-03 18:01:50 +00:00
invalid-alias-type-mismatch.bc [BitcodeReader] Diagnose type mismatches with aliases 2015-06-03 01:30:13 +00:00
invalid-align.bc
invalid-array-element-type.bc Make sure that isValidElementType(Type) before calling {Array,Struct}Type::get(Type) 2015-04-29 01:27:01 +00:00
invalid-array-op-not-2nd-to-last.bc Turn an assert into report_fatal_error since it's reachable based on user input 2015-04-29 01:58:31 +00:00
invalid-array-operand-encoding.bc [BitstreamReader] Make sure the Array operand type is an encoding 2015-05-27 00:48:43 +00:00
invalid-array-type.bc
invalid-bad-abbrev-number.bc
invalid-bitwidth.bc
invalid-call-mismatched-explicit-type.bc
invalid-call-non-function-explicit-type.bc
invalid-cast.bc Make sure the CastInst is valid before trying to create it 2015-10-06 12:37:54 +00:00
invalid-code-len-width.bc [BitcodeReader] It's a malformed block if CodeLenWidth is too big 2015-05-19 00:34:17 +00:00
invalid-extract-0-indices.bc [BitcodeReader] Don't allow INSERTVAL/EXTRACTVAL with 0 indices 2015-05-16 00:33:12 +00:00
invalid-extractval-array-idx.bc
invalid-extractval-struct-idx.bc
invalid-extractval-too-many-idxs.bc
invalid-fixme-streaming-blob.bc Change a reachable unreachable to a fatal error. 2015-05-19 18:18:10 +00:00
invalid-fp-shift.bc
invalid-function-argument-type.bc [BitcodeReader] Error out if we read an invalid function argument type 2015-05-19 01:21:06 +00:00
invalid-function-comdat-id.bc [BitcodeReader] Sanity check on Comdat ID 2015-05-26 23:00:56 +00:00
invalid-fwdref-type-mismatch-2.bc [BitcodeReader] Change assert to report_fatal_error 2015-05-27 01:05:40 +00:00
invalid-fwdref-type-mismatch.bc Relax an assert when there's a type mismatch in forward references 2015-04-28 20:18:47 +00:00
invalid-gep-mismatched-explicit-type.bc
invalid-gep-operator-mismatched-explicit-type.bc
invalid-global-var-comdat-id.bc [BitcodeReader] Sanity check on Comdat ID 2015-05-26 23:00:56 +00:00
invalid-insert-0-indices.bc [BitcodeReader] Don't allow INSERTVAL/EXTRACTVAL with 0 indices 2015-05-16 00:33:12 +00:00
invalid-inserted-value-type-mismatch.bc [BitcodeReader] Make sure the type of the inserted value matches the type of the aggregate at those indices 2015-05-18 22:27:11 +00:00
invalid-insertval-array-idx.bc
invalid-insertval-struct-idx.bc
invalid-insertval-too-many-idxs.bc
invalid-invoke-mismatched-explicit-type.bc [opaque pointer type] bitcode: add explicit callee type to invoke instructions 2015-04-24 18:06:06 +00:00
invalid-invoke-non-function-explicit-type.bc [opaque pointer type] bitcode: add explicit callee type to invoke instructions 2015-04-24 18:06:06 +00:00
invalid-load-mismatched-explicit-type.bc
invalid-load-pointer-type.bc Make sure Op->getType() is a PointerType before we cast<> it. 2015-04-30 01:13:31 +00:00
invalid-load-ptr-type.bc Extract the load/store type verification to a separate function. 2015-05-18 21:48:55 +00:00
invalid-metadata-not-followed-named-node.bc [BitcodeReader] Change an assert to a call to a call to Error() 2015-05-30 00:17:20 +00:00
invalid-name-with-0-byte.bc Error out when faced with value names containing '\0' 2015-11-04 14:53:36 +00:00
invalid-no-function-block.bc Don't assert if materializing before seeing any function bodies 2015-11-03 13:48:26 +00:00
invalid-no-proper-module.bc
invalid-non-vector-extractelement.bc [BitcodeReader] Fix asserts when we read a non-vector type for insert/extract/shuffle 2015-04-24 11:30:15 +00:00
invalid-non-vector-insertelement.bc [BitcodeReader] Fix asserts when we read a non-vector type for insert/extract/shuffle 2015-04-24 11:30:15 +00:00
invalid-non-vector-shufflevector.bc [BitcodeReader] Fix asserts when we read a non-vector type for insert/extract/shuffle 2015-04-24 11:30:15 +00:00
invalid-pointer-element-type.bc Check that we have a valid PointerType element type before calling get() 2015-04-29 02:27:28 +00:00
invalid-pr20485.bc
invalid-too-big-fwdref.bc Make sure we don't resize(0) when we get a fwdref with Idx == UINT_MAX 2015-04-30 00:52:42 +00:00
invalid-type-table-forward-ref.bc
invalid-unexpected-eof.bc
invalid-vector-element-type.bc Make sure that isValidElementType(Type) before calling {Array,Struct}Type::get(Type) 2015-04-29 01:27:01 +00:00
invalid-vector-length.bc [Bitcode] Minimize the test to not conflict with others 2015-06-03 01:30:08 +00:00
padding-garbage.bc Improve handling of end of file in the bitcode reader. 2015-06-16 20:03:39 +00:00
padding.bc Add a test for padded bitcode files. 2015-06-16 16:36:15 +00:00
source-filename.bc Restore "[ThinLTO] Use MD5 hash in function index." with fix 2016-02-10 21:55:02 +00:00
thinlto-function-summary-callgraph-pgo.ll [ThinLTO] Support for reference graph in per-module and combined summary. 2016-03-11 18:52:24 +00:00
thinlto-function-summary-callgraph.ll [ThinLTO] Support for reference graph in per-module and combined summary. 2016-03-11 18:52:24 +00:00