llvm-project/llvm/test/Bitcode
Shiva Chen 2c864551df [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label.
In order to set breakpoints on labels and list source code around
labels, we need collect debug information for labels, i.e., label
name, the function label belong, line number in the file, and the
address label located. In order to keep these information in LLVM
IR and to allow backend to generate debug information correctly.
We create a new kind of metadata for labels, DILabel. The format
of DILabel is

!DILabel(scope: !1, name: "foo", file: !2, line: 3)

We hope to keep debug information as much as possible even the
code is optimized. So, we create a new kind of intrinsic for label
metadata to avoid the metadata is eliminated with basic block.
The intrinsic will keep existing if we keep it from optimized out.
The format of the intrinsic is

llvm.dbg.label(metadata !1)

It has only one argument, that is the DILabel metadata. The
intrinsic will follow the label immediately. Backend could get the
label metadata through the intrinsic's parameter.

We also create DIBuilder API for labels to be used by Frontend.
Frontend could use createLabel() to allocate DILabel objects, and use
insertLabel() to insert llvm.dbg.label intrinsic in LLVM IR.

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

Patch by Hsiangkai Wang.

llvm-svn: 331841
2018-05-09 02:40:45 +00:00
..
Inputs Do not want to use BFI to get profile count for sample pgo 2017-08-03 17:11:41 +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 Fix a bug in a historic bitcode testcase. NFC. 2017-09-21 23:14:52 +00:00
DIExpression-4.0.ll.bc Fix a bug in a historic bitcode testcase. NFC. 2017-09-21 23:14:52 +00:00
DIExpression-aggresult.ll Parse and print DIExpressions inline to ease IR and MIR testing 2017-08-23 20:31:27 +00:00
DIExpression-aggresult.ll.bc PR32382: Fix emitting complex DWARF expressions. 2017-04-18 01:21:53 +00:00
DIExpression-deref.ll Fix a bug in a historic bitcode testcase. 2017-09-21 23:14:55 +00:00
DIExpression-deref.ll.bc Fix a bug in a historic bitcode testcase. 2017-09-21 23:14:55 +00:00
DIExpression-minus-upgrade.ll Align definition of DW_OP_plus with DWARF spec [3/3] 2017-06-14 13:14:38 +00:00
DIExpression-minus-upgrade.ll.bc Align definition of DW_OP_plus with DWARF spec [3/3] 2017-06-14 13:14:38 +00:00
DIGlobalVariableExpression.ll Canonicalize the representation of empty an expression in DIGlobalVariableExpression 2017-08-30 18:06:51 +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 Canonicalize the representation of empty an expression in DIGlobalVariableExpression 2017-08-30 18:06:51 +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 [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +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 Remove line and file from DINamespace. 2017-04-28 22:25:46 +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
atomic-no-syncscope.ll Enhance synchscope representation 2017-07-11 22:23:00 +00:00
atomic-no-syncscope.ll.bc Enhance synchscope representation 2017-07-11 22:23:00 +00:00
atomic.ll Enhance synchscope representation 2017-07-11 22:23:00 +00:00
attributes-3.3.ll
attributes-3.3.ll.bc
attributes.ll Add the ShadowCallStack attribute 2018-04-03 20:10:40 +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
case-ranges-3.3.ll.bc
cmpxchg-upgrade.ll
cmpxchg-upgrade.ll.bc
cmpxchg.3.6.ll
cmpxchg.3.6.ll.bc
compatibility-3.6.ll bitcode support change for fast flags compatibility 2018-02-19 19:22:28 +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 bitcode support change for fast flags compatibility 2018-02-19 19:22:28 +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 support change for fast flags compatibility 2018-02-19 19:22:28 +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 support change for fast flags compatibility 2018-02-19 19:22:28 +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-4.0.ll bitcode support change for fast flags compatibility 2018-02-19 19:22:28 +00:00
compatibility-4.0.ll.bc [Bitcode] Add compatibility test for the 4.0 release 2017-03-17 17:53:26 +00:00
compatibility-5.0.ll bitcode support change for fast flags compatibility 2018-02-19 19:22:28 +00:00
compatibility-5.0.ll.bc [Bitcode] Add a compatibility test for 5.0.0 bitcode 2017-09-13 21:40:59 +00:00
compatibility.ll Refactor check for dllimport in the Verifier. 2018-03-06 17:19:23 +00:00
constantsTest.3.2.ll
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
dicompileunit-gnu-pubnames.ll IR: Represent -ggnu-pubnames with a flag on the DICompileUnit. 2017-09-12 21:50:41 +00:00
diglobalvariable-3.8.ll Parse and print DIExpressions inline to ease IR and MIR testing 2017-08-23 20:31:27 +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 DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
dilocalvariable-3.9.ll.bc DebugInfo: add bitcode upgrade test for alignment 2016-10-26 08:34:19 +00:00
disubrange-v0.ll [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
disubrange-v0.ll.bc [Metadata] Extend 'count' field of DISubrange to take a metadata node 2018-01-24 09:56:07 +00:00
disubrange.ll [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +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
drop-debug-info.3.5.ll.bc
dso_location.ll Make GlobalValues with non-default visibilility dso_local. 2018-01-18 02:08:23 +00:00
extractelement.ll
fcmp-fast.ll augmenting description for fcmp fmf - NFC 2018-04-26 18:17:58 +00:00
flags.ll
function-encoding-rel-operands.ll
function-local-metadata.3.5.ll
function-local-metadata.3.5.ll.bc
global-variables.3.2.ll
global-variables.3.2.ll.bc
globalvariable-attributes.ll [IR] Allow attributes with global variables 2017-05-11 12:28:08 +00:00
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-weak-external.ll Object: Downgrade invalid weak externals from an assert fail to an llvm::Error when creating an irsymtab. 2017-09-07 01:33:52 +00:00
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
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
memInstructions.3.2.ll Enhance synchscope representation 2017-07-11 22:23:00 +00:00
memInstructions.3.2.ll.bc
metadata-2.ll
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-source.ll [DebugInfo] Add remaining files to r325970 2018-02-23 23:13:18 +00:00
metadata-source.ll.bc [DebugInfo] Add remaining files to r325970 2018-02-23 23:13:18 +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
metadata.3.5.ll.bc
metadata.ll
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-strtab.ll Bitcode: Include any strings added to the string table in the module hash. 2017-07-06 17:56:01 +00:00
module_hash.ll Bitcode: Include any strings added to the string table in the module hash. 2017-07-06 17:56:01 +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
pr18704.ll.bc
ptest-new.ll
ptest-old.ll [X86] Replace 'REQUIRES: x86' in tests with 'REQUIRES: x86-registered-target' which seems to be the correct way to make them run on an x86 build. 2017-06-04 08:21:58 +00:00
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 Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
standardCIntrinsic.3.2.ll.bc
stream-types.c [bcanalyzer] Recognize more stream types 2018-04-21 23:52:04 +00:00
stream-types.c.ast [bcanalyzer] Recognize more stream types 2018-04-21 23:52:04 +00:00
stream-types.c.ast.incomplete [bcanalyzer] Recognize more stream types 2018-04-21 23:52:04 +00:00
stream-types.c.dia [bcanalyzer] Recognize more stream types 2018-04-21 23:52:04 +00:00
stream-types.c.dia.incomplete [bcanalyzer] Recognize more stream types 2018-04-21 23:52:04 +00:00
summary_version.ll [ThinLTO] Add FunctionAttrs to ThinLTO index 2017-08-04 16:00:58 +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] Serialize WithGlobalValueDeadStripping index flag for distributed backends 2018-02-07 04:05:59 +00:00
thinlto-alias2.ll [ThinLTO] Add FunctionAttrs to ThinLTO index 2017-08-04 16:00:58 +00:00
thinlto-asm-noimport.ll ModuleSummaryAnalysis: Correctly handle refs from function inline asm to module inline asm. 2017-09-01 16:24:02 +00:00
thinlto-deadstrip-flag.ll [ThinLTO] Serialize WithGlobalValueDeadStripping index flag for distributed backends 2018-02-07 04:05:59 +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-cast.ll [ThinLTO] Remove too aggressive assertion in building function call graph. 2017-11-17 18:28:05 +00:00
thinlto-function-summary-callgraph-pgo.ll [ThinLTO] Serialize WithGlobalValueDeadStripping index flag for distributed backends 2018-02-07 04:05:59 +00:00
thinlto-function-summary-callgraph-profile-summary.ll [ThinLTO] Serialize WithGlobalValueDeadStripping index flag for distributed backends 2018-02-07 04:05:59 +00:00
thinlto-function-summary-callgraph-relbf.ll [ThinLTO] Represent relative BF using a scaled representation . 2018-02-22 19:44:08 +00:00
thinlto-function-summary-callgraph-sample-profile-summary.ll [ThinLTO] Serialize WithGlobalValueDeadStripping index flag for distributed backends 2018-02-07 04:05:59 +00:00
thinlto-function-summary-callgraph.ll [ThinLTO] Serialize WithGlobalValueDeadStripping index flag for distributed backends 2018-02-07 04:05:59 +00:00
thinlto-function-summary-functionattrs.ll [ThinLTO] Add FunctionAttrs to ThinLTO index 2017-08-04 16:00:58 +00:00
thinlto-function-summary-originalnames.ll [ThinLTO] Serialize WithGlobalValueDeadStripping index flag for distributed backends 2018-02-07 04:05:59 +00:00
thinlto-function-summary-refgraph.ll Make internal/private GVs implicitly dso_local. 2018-01-11 22:15:05 +00:00
thinlto-function-summary.ll Bitcode: Write the irsymtab to disk. 2017-06-27 23:50:11 +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 Make internal/private GVs implicitly dso_local. 2018-01-11 22:15:05 +00:00
thinlto-summary-local-5.0.ll [LTO][ThinLTO] Use the linker resolutions to mark global values as dso_local. 2017-11-04 17:04:39 +00:00
thinlto-summary-local-5.0.ll.bc [LTO][ThinLTO] Use the linker resolutions to mark global values as dso_local. 2017-11-04 17:04:39 +00:00
thinlto-summary-section.ll Make internal/private GVs implicitly dso_local. 2018-01-11 22:15:05 +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-dbg-checksum.ll [DebugInfo] Unify ChecksumKind and Checksum value in DIFile 2018-02-12 19:45:54 +00:00
upgrade-dbg-checksum.ll.bc [DebugInfo] Unify ChecksumKind and Checksum value in DIFile 2018-02-12 19:45:54 +00:00
upgrade-dbg-value.ll [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
upgrade-dbg-value.ll.bc Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +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-importedentity.ll Debug Info: Add a file: field to DIImportedEntity. 2017-07-19 00:09:54 +00:00
upgrade-importedentity.ll.bc Debug Info: Add a file: field to DIImportedEntity. 2017-07-19 00:09:54 +00:00
upgrade-invariant-group-barrier.ll Rename invariant.group.barrier to launder.invariant.group 2018-05-03 11:03:01 +00:00
upgrade-linker-options.ll IR: Replace the "Linker Options" module flag with "llvm.linker.options" named metadata. 2017-06-12 20:10:48 +00:00
upgrade-loop-metadata.ll
upgrade-loop-metadata.ll.bc
upgrade-memory-intrinsics.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
upgrade-module-flag.ll [AutoUpgrade] Fix a compatibility issue with module flag 2017-09-15 21:12:14 +00:00
upgrade-objcretainrelease-asm.ll [IR] Upgrade comment token in objc retain release marker for asm call 2018-04-17 04:02:24 +00:00
upgrade-objcretainrelease-asm.ll.bc [IR] Upgrade comment token in objc retain release marker for asm call 2018-04-17 04:02:24 +00:00
upgrade-objcretainrelease.ll [IR] Upgrade comment token in objc retain release marker 2018-04-05 02:44:46 +00:00
upgrade-objcretainrelease.ll.bc [IR] Upgrade comment token in objc retain release marker 2018-04-05 02:44:46 +00:00
upgrade-pointer-address-space.ll [DebugInfo] Emit address space with DW_AT_address_class attribute for pointer and reference types 2017-03-08 23:55:44 +00:00
upgrade-pointer-address-space.ll.bc [DebugInfo] Emit address space with DW_AT_address_class attribute for pointer and reference types 2017-03-08 23:55:44 +00:00
upgrade-section-name.ll Bitcode: add an auto-upgrade for LTO section name 2017-10-06 18:06:59 +00:00
upgrade-subprogram-this.ll [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +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
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
value-with-long-name.ll Limit size of non-GlobalValue name 2018-01-05 19:41:19 +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
weak-macho-3.5.ll.bc