llvm/test/Bitcode
Shiva Chen a8a13bc662 [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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@331841 91177308-0d34-0410-b5e6-96231b3b80d8
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
aggregateInstructions.3.2.ll
aggregateInstructions.3.2.ll.bc
anon-functions.ll
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
avr-calling-conventions.ll
avr-calling-conventions.ll.bc
binaryFloatInstructions.3.2.ll
binaryFloatInstructions.3.2.ll.bc
binaryIntInstructions.3.2.ll
binaryIntInstructions.3.2.ll.bc
bitcode-wrapper-header-armv7m.ll
bitcode-wrapper-header-x86_64.ll
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
compatibility-3.7.ll bitcode support change for fast flags compatibility 2018-02-19 19:22:28 +00:00
compatibility-3.7.ll.bc
compatibility-3.8.ll bitcode support change for fast flags compatibility 2018-02-19 19:22:28 +00:00
compatibility-3.8.ll.bc
compatibility-3.9.ll bitcode support change for fast flags compatibility 2018-02-19 19:22:28 +00:00
compatibility-3.9.ll.bc
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
dicompileunit-gnu-pubnames.ll IR: Represent -ggnu-pubnames with a flag on the DICompileUnit. 2017-09-12 21:50:41 +00:00
DICompileUnit-no-DWOId.ll
DICompileUnit-no-DWOId.ll.bc
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
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
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
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
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
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
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
DISubprogram-distinct-definitions.ll.bc
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
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
highLevelStructure.3.2.ll.bc
identification.ll
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
invalid.ll.bc
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
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
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
metadata.3.5.ll
metadata.3.5.ll.bc
metadata.ll
miscInstructions.3.2.ll
miscInstructions.3.2.ll.bc
module_hash.ll Bitcode: Include any strings added to the string table in the module hash. 2017-07-06 17:56:01 +00:00
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
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
old-aliases.ll.bc
operand-bundles-bc-analyzer.ll
operand-bundles.ll
padding.test
pr18704.ll
pr18704.ll.bc
PR23310.test
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
shuffle.ll
source-filename.test
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
terminatorInstructions.3.2.ll
terminatorInstructions.3.2.ll.bc
thinlto-alias2.ll [ThinLTO] Add FunctionAttrs to ThinLTO index 2017-08-04 16:00:58 +00:00
thinlto-alias.ll [ThinLTO] Serialize WithGlobalValueDeadStripping index flag for distributed backends 2018-02-07 04:05:59 +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-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
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
upgrade-subprogram.ll
upgrade-subprogram.ll.bc
upgrade-tbaa.ll
use-list-order2.ll
use-list-order.ll
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
weak-cmpxchg-upgrade.ll
weak-cmpxchg-upgrade.ll.bc
weak-macho-3.5.ll
weak-macho-3.5.ll.bc