llvm/test/Bitcode
Adrian Prantl 460dd60c1a [DIExpression] Introduce a dedicated DW_OP_LLVM_fragment operation
so we can stop using DW_OP_bit_piece with the wrong semantics.

The entire back story can be found here:
http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20161114/405934.html

The gist is that in LLVM we've been misinterpreting DW_OP_bit_piece's
offset field to mean the offset into the source variable rather than
the offset into the location at the top the DWARF expression stack. In
order to be able to fix this in a subsequent patch, this patch
introduces a dedicated DW_OP_LLVM_fragment operation with the
semantics that we used to apply to DW_OP_bit_piece, which is what we
actually need while inside of LLVM. This patch is complete with a
bitcode upgrade for expressions using the old format. It does not yet
fix the DWARF backend to use DW_OP_bit_piece correctly.

Implementation note: We discussed several options for implementing
this, including reserving a dedicated field in DIExpression for the
fragment size and offset, but using an custom operator at the end of
the expression works just fine and is more efficient because we then
only pay for it when we need it.

Differential Revision: https://reviews.llvm.org/D27361
rdar://problem/29335809

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@288683 91177308-0d34-0410-b5e6-96231b3b80d8
2016-12-05 18:04:47 +00:00
..
Inputs Bitcode: Introduce BitcodeWriter interface. 2016-11-29 20:43:47 +00:00
2006-12-11-Cast-ConstExpr.ll verify-uselistorder: Force -preserve-bc-use-list-order 2014-08-19 21:08:27 +00:00
2009-06-11-FirstClassAggregateConstant.ll verify-uselistorder: Force -preserve-bc-use-list-order 2014-08-19 21:08:27 +00:00
aggregateInstructions.3.2.ll verify-uselistorder: Force -preserve-bc-use-list-order 2014-08-19 21:08:27 +00:00
aggregateInstructions.3.2.ll.bc Ensure bitcode encoding of instructions and their operands stays stable. 2014-02-26 12:06:36 +00:00
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 verify-uselistorder: Force -preserve-bc-use-list-order 2014-08-19 21:08:27 +00:00
attributes-3.3.ll verify-uselistorder: Force -preserve-bc-use-list-order 2014-08-19 21:08:27 +00:00
attributes-3.3.ll.bc Make .bc en/decoding of AttrKind stable 2013-07-26 04:16:55 +00:00
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 verify-uselistorder: Force -preserve-bc-use-list-order 2014-08-19 21:08:27 +00:00
binaryFloatInstructions.3.2.ll.bc Ensure bitcode encoding of instructions and their operands stays stable. 2014-02-26 12:06:36 +00:00
binaryIntInstructions.3.2.ll verify-uselistorder: Force -preserve-bc-use-list-order 2014-08-19 21:08:27 +00:00
binaryIntInstructions.3.2.ll.bc Ensure bitcode encoding of instructions and their operands stays stable. 2014-02-26 12:06:36 +00:00
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 verify-uselistorder: Force -preserve-bc-use-list-order 2014-08-19 21:08:27 +00:00
bitwiseInstructions.3.2.ll.bc Ensure bitcode encoding of instructions and their operands stays stable. 2014-02-26 12:06:36 +00:00
blockaddress.ll verify-uselistorder: Force -preserve-bc-use-list-order 2014-08-19 21:08:27 +00:00
calling-conventions.3.2.ll Parse 'ghccc' in .ll files as the GHC convention (cc 10) 2014-12-01 21:04:44 +00:00
calling-conventions.3.2.ll.bc Ensure bitcode encoding of calling conventions stays stable. Patch by Boaz Ouriel. 2013-12-22 07:51:53 +00:00
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 Revert patches to add case-range support for PR1255. 2013-09-09 19:14:35 +00:00
cmpxchg-upgrade.ll verify-uselistorder: Force -preserve-bc-use-list-order 2014-08-19 21:08:27 +00:00
cmpxchg-upgrade.ll.bc IR: add a second ordering operand to cmpxhg for failure 2014-03-11 10:48:52 +00:00
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 Ensure bitcode encoding stays stable. 2014-09-23 08:48:01 +00:00
conversionInstructions.3.2.ll Ensure bitcode encoding stays stable. 2014-09-23 08:48:01 +00:00
conversionInstructions.3.2.ll.bc Ensure bitcode encoding stays stable. 2014-09-23 08:48:01 +00:00
debug-loc-again.ll [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00:00
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
diglobalvariable-3.8.ll DebugInfo: New metadata representation for global variables. 2016-09-13 01:12:59 +00:00
diglobalvariable-3.8.ll.bc DebugInfo: New metadata representation for global variables. 2016-09-13 01:12:59 +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
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
dityperefs-3.8.ll Teach llvm::StripDebugInfo() about global variable !dbg attachments. 2016-10-10 17:53:33 +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 verify-uselistorder: Force -preserve-bc-use-list-order 2014-08-19 21:08:27 +00:00
fcmp-fast.ll Add support for fast-math flags to the FCmp instruction. 2015-07-10 12:52:00 +00:00
flags.ll verify-uselistorder: Force -preserve-bc-use-list-order 2014-08-19 21:08:27 +00:00
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 verify-uselistorder: Force -preserve-bc-use-list-order 2014-08-19 21:08:27 +00:00
global-variables.3.2.ll.bc Ensure bitcode encoding of global variable attributes stays stable. Patch by Boaz Ouriel. 2013-12-15 11:50:45 +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 Ensure bitcode encoding stays stable. 2014-09-23 08:48:01 +00:00
identification.ll Add an (optional) identification block in the bitcode 2015-10-26 18:37:00 +00:00
inalloca.ll verify-uselistorder: Force -preserve-bc-use-list-order 2014-08-19 21:08:27 +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 Bring r226038 back. 2015-01-19 15:16:06 +00:00
linkage-types-3.2.ll.bc Ensure bitcode encoding of linkage types stays stable. Patch by Boaz Ouriel 2013-12-01 10:16:35 +00:00
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 IR: Don't allow non-default visibility on local linkage 2014-05-07 22:57:20 +00:00
mdnodes-distinct-in-post-order.ll BitcodeWriter: Emit uniqued subgraphs after all distinct nodes 2016-04-23 04:59:22 +00:00
mdnodes-distinct-nodes-break-cycles.ll BitcodeWriter: Emit uniqued subgraphs after all distinct nodes 2016-04-23 04:59:22 +00:00
mdnodes-distinct-nodes-first.ll BitcodeWriter: Emit distinct nodes before uniqued nodes 2016-04-23 04:42:39 +00:00
mdnodes-in-post-order.ll BitcodeWriter: Emit metadata in post-order (again) 2016-04-21 01:55:12 +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 Ensure bitcode encoding of instructions and their operands stays stable. 2014-03-02 15:26:36 +00:00
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 BitcodeWriter: Emit metadata in post-order (again) 2016-04-21 01:55:12 +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 Ensure bitcode encoding stays stable. 2014-09-23 08:48:01 +00:00
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 Fix most of PR10367. 2014-05-16 19:35:39 +00:00
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 All new elements except the last one initialized to NULL. Ideally, once parsing is complete, all elements should be non-NULL. 2014-03-27 12:08:23 +00:00
PR23310.test Fix for PR23310: llvm-dis crashes when trying to upgrade an intrinsic. 2015-07-02 16:22:40 +00:00
ptest-new.ll verify-uselistorder: Force -preserve-bc-use-list-order 2014-08-19 21:08:27 +00:00
ptest-old.ll verify-uselistorder: Force -preserve-bc-use-list-order 2014-08-19 21:08:27 +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 verify-uselistorder: Force -preserve-bc-use-list-order 2014-08-19 21:08:27 +00:00
source-filename.test Restore "[ThinLTO] Use MD5 hash in function index." with fix 2016-02-10 21:55:02 +00:00
ssse3_palignr.ll verify-uselistorder: Force -preserve-bc-use-list-order 2014-08-19 21:08:27 +00:00
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 Ensure bitcode encoding stays stable. 2014-09-23 08:48:01 +00:00
summary_version.ll [thinlto] Basic thinlto fdo heuristic 2016-09-26 20:37:32 +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 Ensure bitcode encoding stays stable. 2014-09-23 08:48:01 +00:00
terminatorInstructions.3.2.ll.bc Ensure bitcode encoding stays stable. 2014-09-23 08:48:01 +00:00
thinlto-alias2.ll [ThinLTO] Record calls to aliases 2016-10-08 16:11:42 +00:00
thinlto-alias.ll [thinlto] Basic thinlto fdo heuristic 2016-09-26 20:37:32 +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 [thinlto] Basic thinlto fdo heuristic 2016-09-26 20:37:32 +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 Fix test after renaming -name-anon-functions pass to -name-anon-globals 2016-09-16 17:18: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] Use valueid instead of bitcode offsets in combined index file 2016-04-27 13:28:35 +00:00
upgrade-global-ctors.ll verify-uselistorder: Force -preserve-bc-use-list-order 2014-08-19 21:08:27 +00:00
upgrade-global-ctors.ll.bc Handle ConstantAggregateZero when upgrading global_ctors. 2014-05-17 21:00:22 +00:00
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 Add some test files for r211710. 2014-06-25 15:41:39 +00:00
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-order2.ll [Bitcode] Add xfail test for PR24755 (uselistorder) 2015-09-10 16:02:24 +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
variableArgumentIntrinsic.3.2.ll verify-uselistorder: Force -preserve-bc-use-list-order 2014-08-19 21:08:27 +00:00
variableArgumentIntrinsic.3.2.ll.bc Ensure bitcode encoding of instructions and their operands stays stable. 2014-03-02 15:26:36 +00:00
vectorInstructions.3.2.ll verify-uselistorder: Force -preserve-bc-use-list-order 2014-08-19 21:08:27 +00:00
vectorInstructions.3.2.ll.bc Ensure bitcode encoding of instructions and their operands stays stable. 2014-02-26 12:06:36 +00:00
visibility-styles.3.2.ll verify-uselistorder: Force -preserve-bc-use-list-order 2014-08-19 21:08:27 +00:00
visibility-styles.3.2.ll.bc Ensure bitcode encoding of visibility styles stays stable. Patch by Boaz Ouriel. 2013-12-08 11:35:09 +00:00
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 verify-uselistorder: Force -preserve-bc-use-list-order 2014-08-19 21:08:27 +00:00
weak-cmpxchg-upgrade.ll.bc IR: add "cmpxchg weak" variant to support permitted failure. 2014-06-13 14:24:07 +00:00
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