llvm-project/llvm/test/Bitcode
Dehao Chen a60cdd3881 Add function importing info from samplepgo profile to the module summary.
Summary: For SamplePGO, the profile may contain cross-module inline stacks. As we need to make sure the profile annotation happens when all the hot inline stacks are expanded, we need to pass this info to the module importer so that it can import proper functions if necessary. This patch implemented this feature by emitting cross-module targets as part of function entry metadata. In the module-summary phase, the metadata is used to build call edges that points to functions need to be imported.

Reviewers: mehdi_amini, tejohnson

Reviewed By: tejohnson

Subscribers: davidxl, llvm-commits

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

llvm-svn: 296498
2017-02-28 18:09:44 +00:00
..
Inputs Bitcode: Introduce BitcodeWriter interface. 2016-11-29 20:43:47 +00:00
2006-12-11-Cast-ConstExpr.ll
2009-06-11-FirstClassAggregateConstant.ll
DICompileUnit-no-DWOId.ll DI: Disallow uniquable DICompileUnits 2015-08-03 17:26:41 +00:00
DICompileUnit-no-DWOId.ll.bc IR / debug info: Add a DWOId field to DICompileUnit, 2015-05-21 20:37:30 +00:00
DIExpression-4.0.ll [DIExpression] Introduce a dedicated DW_OP_LLVM_fragment operation 2016-12-05 18:04:47 +00:00
DIExpression-4.0.ll.bc [DIExpression] Introduce a dedicated DW_OP_LLVM_fragment operation 2016-12-05 18:04:47 +00:00
DIGlobalVariableExpression.ll Fix the bitcode upgrade for DIGlobalVariable in a DIImportedEntity context. 2017-02-07 17:35:41 +00:00
DIGlobalVariableExpression.ll.bc Fix the bitcode upgrade for DIGlobalVariable in a DIImportedEntity context. 2017-02-07 17:35:41 +00:00
DIGlobalVariableExpression2.ll Fix bitcode upgrade for DIGlobalVariables with a var: field. 2017-02-08 17:44:43 +00:00
DIGlobalVariableExpression2.ll.bc Fix bitcode upgrade for DIGlobalVariables with a var: field. 2017-02-08 17:44:43 +00:00
DILocalVariable-explicit-tags.ll [Bitcode] Fix + regenerate old test so that it includes a DICompileUnit. 2016-04-12 15:51:23 +00:00
DILocalVariable-explicit-tags.ll.bc [Bitcode] Fix + regenerate old test so that it includes a DICompileUnit. 2016-04-12 15:51:23 +00:00
DINamespace.ll Add DWARF debug info support for C++11 inline namespaces. 2016-11-03 19:42:02 +00:00
DINamespace.ll.bc Add DWARF debug info support for C++11 inline namespaces. 2016-11-03 19:42:02 +00:00
DISubprogram-distinct-definitions.ll [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00:00
DISubprogram-distinct-definitions.ll.bc [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00:00
PR23310.test Fix for PR23310: llvm-dis crashes when trying to upgrade an intrinsic. 2015-07-02 16:22:40 +00:00
aggregateInstructions.3.2.ll
aggregateInstructions.3.2.ll.bc
anon-functions.ll Fix PR25101 - Handle anonymous functions without VST entries 2015-10-10 14:18:36 +00:00
arm32_neon_vcnt_upgrade.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
atomic.ll
attributes-3.3.ll
attributes-3.3.ll.bc
attributes.ll Add writeonly IR attribute 2016-07-04 08:01:29 +00:00
auto_upgrade_intrinsics.bc Upgrade TBAA *before* upgrading intrinsics 2016-03-16 23:17:54 +00:00
avr-calling-conventions.ll [AVR] Add calling convention parser tokens 2016-03-03 10:08:02 +00:00
avr-calling-conventions.ll.bc [AVR] Add calling convention parser tokens 2016-03-03 10:08:02 +00:00
binaryFloatInstructions.3.2.ll
binaryFloatInstructions.3.2.ll.bc
binaryIntInstructions.3.2.ll
binaryIntInstructions.3.2.ll.bc
bitcode-wrapper-header-armv7m.ll [llvm-bcanalyzer] Dump bitcode wrapper header 2016-01-29 05:55:09 +00:00
bitcode-wrapper-header-x86_64.ll [llvm-bcanalyzer] Dump bitcode wrapper header 2016-01-29 05:55:09 +00:00
bitwiseInstructions.3.2.ll
bitwiseInstructions.3.2.ll.bc
blockaddress.ll
calling-conventions.3.2.ll
calling-conventions.3.2.ll.bc
case-ranges-3.3.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
case-ranges-3.3.ll.bc
cmpxchg-upgrade.ll
cmpxchg-upgrade.ll.bc
cmpxchg.3.6.ll [opaque pointer type] Encode the pointee type in the bitcode for 'cmpxchg' 2015-04-28 04:30:29 +00:00
cmpxchg.3.6.ll.bc [opaque pointer type] Encode the pointee type in the bitcode for 'cmpxchg' 2015-04-28 04:30:29 +00:00
compatibility-3.6.ll Sort the enums in Attributes.h in case insensitive alphabetical order. 2015-11-11 02:11:46 +00:00
compatibility-3.6.ll.bc [IR] Limit bits used for CallingConv::ID, update tests 2015-10-27 21:17:06 +00:00
compatibility-3.7.ll Sort the enums in Attributes.h in case insensitive alphabetical order. 2015-11-11 02:11:46 +00:00
compatibility-3.7.ll.bc [IR] Limit bits used for CallingConv::ID, update tests 2015-10-27 21:17:06 +00:00
compatibility-3.8.ll [Bitcode] Add compatibility test for the 3.8 release 2016-03-16 05:43:03 +00:00
compatibility-3.8.ll.bc [Bitcode] Add compatibility test for the 3.8 release 2016-03-16 05:43:03 +00:00
compatibility-3.9.ll [Bitcode] Add compatibility test for the 3.9 release 2016-09-09 17:24:31 +00:00
compatibility-3.9.ll.bc [Bitcode] Add compatibility test for the 3.9 release 2016-09-09 17:24:31 +00:00
compatibility.ll IR: Introduce inrange attribute on getelementptr indices. 2016-11-10 22:34:55 +00:00
constantsTest.3.2.ll [opaque pointer type] Add textual IR support for explicit type parameter to getelementptr instruction 2015-02-27 19:29:02 +00:00
constantsTest.3.2.ll.bc
conversionInstructions.3.2.ll
conversionInstructions.3.2.ll.bc
debug-loc-again.ll [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00:00
diglobalvariable-3.8.ll [IR] Remove the DIExpression field from DIGlobalVariable. 2016-12-20 02:09:43 +00:00
diglobalvariable-3.8.ll.bc [IR] Remove the DIExpression field from DIGlobalVariable. 2016-12-20 02:09:43 +00:00
dilocalvariable-3.9.ll DebugInfo: add bitcode upgrade test for alignment 2016-10-26 08:34:19 +00:00
dilocalvariable-3.9.ll.bc DebugInfo: add bitcode upgrade test for alignment 2016-10-26 08:34:19 +00:00
dityperefs-3.8.ll Fix the bitcode upgrade for DIGlobalVariable in a DIImportedEntity context. 2017-02-07 17:35:41 +00:00
dityperefs-3.8.ll.bc BitcodeReader: Fix some holes in upgrade from r267296 2016-04-24 06:52:01 +00:00
drop-debug-info.3.5.ll llvm-dis: Stop crashing when dropping debug info 2015-02-25 01:10:03 +00:00
drop-debug-info.3.5.ll.bc llvm-dis: Stop crashing when dropping debug info 2015-02-25 01:10:03 +00:00
extractelement.ll
fcmp-fast.ll Add support for fast-math flags to the FCmp instruction. 2015-07-10 12:52:00 +00:00
flags.ll
function-encoding-rel-operands.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
function-local-metadata.3.5.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
function-local-metadata.3.5.ll.bc IR: Fix bitcode compatability filenames 2014-12-08 00:41:39 +00:00
global-variables.3.2.ll
global-variables.3.2.ll.bc
highLevelStructure.3.2.ll [opaque pointer type] Add textual IR support for explicit type parameter for global aliases 2015-09-11 03:22:04 +00:00
highLevelStructure.3.2.ll.bc
identification.ll Add an (optional) identification block in the bitcode 2015-10-26 18:37:00 +00:00
inalloca.ll
invalid.ll Add writeonly IR attribute 2016-07-04 08:01:29 +00:00
invalid.ll.bc Add writeonly IR attribute 2016-07-04 08:01:29 +00:00
invalid.test Bitcode: Introduce initial multi-module reader API. 2016-11-16 21:44:45 +00:00
linkage-types-3.2.ll Bring r226038 back. 2015-01-19 15:16:06 +00:00
linkage-types-3.2.ll.bc
local-linkage-default-visibility.3.4.ll [opaque pointer type] Add textual IR support for explicit type parameter for global aliases 2015-09-11 03:22:04 +00:00
local-linkage-default-visibility.3.4.ll.bc
mdnodes-distinct-in-post-order.ll Add an index for Module Metadata record in the bitcode 2016-12-28 22:30:28 +00:00
mdnodes-distinct-nodes-break-cycles.ll Add an index for Module Metadata record in the bitcode 2016-12-28 22:30:28 +00:00
mdnodes-distinct-nodes-first.ll Add an index for Module Metadata record in the bitcode 2016-12-28 22:30:28 +00:00
mdnodes-in-post-order.ll Add an index for Module Metadata record in the bitcode 2016-12-28 22:30:28 +00:00
mdstring-high-bits.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
memInstructions.3.2.ll [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
memInstructions.3.2.ll.bc
metadata-2.ll [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
metadata-function-blocks.ll Add an index for Module Metadata record in the bitcode 2016-12-28 22:30:28 +00:00
metadata-only-empty-string.ll BitcodeReader: Allow METADATA_STRINGS to only have !"" 2016-03-29 05:25:17 +00:00
metadata-strings.ll Reapply ~"Bitcode: Collect all MDString records into a single blob" 2016-03-27 23:17:54 +00:00
metadata.3.5.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
metadata.3.5.ll.bc Bitcode: Add METADATA_NODE and METADATA_VALUE 2014-12-11 23:02:24 +00:00
metadata.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
miscInstructions.3.2.ll Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
miscInstructions.3.2.ll.bc
module_hash.ll Move summary creation out of llvm-as into opt 2016-04-12 21:35:18 +00:00
multi-module.ll Bitcode: Add a more comprehensive multi-module test now that we have both llvm-cat and llvm-modextract. 2016-11-29 21:55:09 +00:00
null-type.ll Bitcode: Introduce initial multi-module reader API. 2016-11-16 21:44:45 +00:00
null-type.ll.bc
old-aliases.ll [opaque pointer type] Add textual IR support for explicit type parameter for global aliases 2015-09-11 03:22:04 +00:00
old-aliases.ll.bc
operand-bundles-bc-analyzer.ll Symbolize operand bundle blocks for bcanalyzer 2016-04-26 05:59:08 +00:00
operand-bundles.ll [Bitcode][Asm] Teach LLVM to read and write operand bundles. 2015-09-24 23:34:52 +00:00
padding.test Improve handling of end of file in the bitcode reader. 2015-06-16 20:03:39 +00:00
pr18704.ll llvm-dis: Stop crashing when dropping debug info 2015-02-25 01:10:03 +00:00
pr18704.ll.bc
ptest-new.ll
ptest-old.ll
select.ll [BitcodeReader] Ensure we can read constant vector selects with an i1 condition 2015-08-31 18:00:30 +00:00
shuffle.ll
source-filename.test Restore "[ThinLTO] Use MD5 hash in function index." with fix 2016-02-10 21:55:02 +00:00
ssse3_palignr.ll
standardCIntrinsic.3.2.ll Revert "Change memcpy/memset/memmove to have dest and source alignments." 2015-11-19 05:56:52 +00:00
standardCIntrinsic.3.2.ll.bc
summary_version.ll [ThinLTO] Subsume all importing checks into a single flag 2017-01-05 14:32:16 +00:00
tailcall.ll [IR] Limit bits used for CallingConv::ID, update tests 2015-10-27 21:17:06 +00:00
terminatorInstructions.3.2.ll
terminatorInstructions.3.2.ll.bc
thinlto-alias.ll [thinlto] Basic thinlto fdo heuristic 2016-09-26 20:37:32 +00:00
thinlto-alias2.ll [ThinLTO] Record calls to aliases 2016-10-08 16:11:42 +00:00
thinlto-empty-summary-section.ll [ThinLTO] Always emit a summary when compiling in ThinLTO mode 2016-09-20 23:07:17 +00:00
thinlto-function-summary-callgraph-pgo.ll [thinlto] Basic thinlto fdo heuristic 2016-09-26 20:37:32 +00:00
thinlto-function-summary-callgraph-profile-summary.ll Add function importing info from samplepgo profile to the module summary. 2017-02-28 18:09:44 +00:00
thinlto-function-summary-callgraph.ll [thinlto] Basic thinlto fdo heuristic 2016-09-26 20:37:32 +00:00
thinlto-function-summary-originalnames.ll [ThinLTO] Use valueid instead of bitcode offsets in combined index file 2016-04-27 13:28:35 +00:00
thinlto-function-summary-refgraph.ll [thinlto] Basic thinlto fdo heuristic 2016-09-26 20:37:32 +00:00
thinlto-function-summary.ll [ThinLTO] Subsume all importing checks into a single flag 2017-01-05 14:32:16 +00:00
thinlto-summary-globalvar.ll [PM] Port ModuleSummaryIndex analysis to new pass manager 2016-08-12 13:53:02 +00:00
thinlto-summary-linkage-types.ll [ThinLTO] Use valueid instead of bitcode offsets in combined index file 2016-04-27 13:28:35 +00:00
thinlto-summary-section.ll [ThinLTO] Subsume all importing checks into a single flag 2017-01-05 14:32:16 +00:00
thinlto-type-tests.ll IR: Function summary representation for type tests. 2016-12-21 23:03:45 +00:00
thinlto-type-vcalls.ll IR: Function summary extensions for whole-program devirtualization pass. 2017-02-10 22:29:38 +00:00
thinlto-unused-type-tests.ll IR: Function summary representation for type tests. 2016-12-21 23:03:45 +00:00
upgrade-debug-info-for-profiling.ll Change debug-info-for-profiling from a TargetOption to a function attribute. 2017-02-01 22:45:09 +00:00
upgrade-debug-info-for-profiling.ll.bc Change debug-info-for-profiling from a TargetOption to a function attribute. 2017-02-01 22:45:09 +00:00
upgrade-global-ctors.ll
upgrade-global-ctors.ll.bc
upgrade-loop-metadata.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
upgrade-loop-metadata.ll.bc
upgrade-module-flag.ll Fix autoupgrade logic for Objective-C class properties module flag 2016-09-16 00:38:18 +00:00
upgrade-subprogram-this.ll [codeview] Add DISubprogram::ThisAdjustment 2016-07-01 02:41:21 +00:00
upgrade-subprogram-this.ll.bc [codeview] Add DISubprogram::ThisAdjustment 2016-07-01 02:41:21 +00:00
upgrade-subprogram.ll [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00:00
upgrade-subprogram.ll.bc DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
upgrade-tbaa.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
use-list-order.ll [opaque pointer type] Add textual IR support for explicit type parameter for global aliases 2015-09-11 03:22:04 +00:00
use-list-order2.ll [Bitcode] Add xfail test for PR24755 (uselistorder) 2015-09-10 16:02:24 +00:00
variableArgumentIntrinsic.3.2.ll
variableArgumentIntrinsic.3.2.ll.bc
vectorInstructions.3.2.ll
vectorInstructions.3.2.ll.bc
visibility-styles.3.2.ll
visibility-styles.3.2.ll.bc
vst-forward-declaration.ll Restore "Function bitcode index in Value Symbol Table and lazy reading support" 2015-09-17 20:12:00 +00:00
weak-cmpxchg-upgrade.ll
weak-cmpxchg-upgrade.ll.bc
weak-macho-3.5.ll Bitcode: Don't create comdats when autoupgrading macho bitcode 2015-01-20 05:58:07 +00:00
weak-macho-3.5.ll.bc Bitcode: Don't create comdats when autoupgrading macho bitcode 2015-01-20 05:58:07 +00:00