llvm-6502/test/DebugInfo
Duncan P. N. Exon Smith 88116fe71a Reapply "Verifier: Check for incompatible bit piece expressions"
This reverts commit r234717, reapplying r234698 (in spirit).

As described in r234717, the original `Verifier` check had a
use-after-free.  Instead of storing pointers to "interesting" debug info
intrinsics whose bit piece expressions should be verified once we have
typerefs, do a second traversal.  I've added a testcase to catch the
`llc` crasher.

Original commit message:

    Verifier: Check for incompatible bit piece expressions

    Convert an assertion into a `Verifier` check.  Bit piece expressions
    must fit inside the variable, and mustn't be the entire variable.
    Catching this in the verifier will help us find bugs sooner, and makes
    `DIVariable::getSizeInBits()` dead code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@234776 91177308-0d34-0410-b5e6-96231b3b80d8
2015-04-13 18:53:11 +00:00
..
AArch64 [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
ARM DebugInfo: Fix bad debug info for compile units and types 2015-03-27 20:46:33 +00:00
COFF Use the existing begin and end symbol for debug info. 2015-03-05 02:05:42 +00:00
Inputs DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
Mips Verifier: Check that inlined-at locations agree 2015-04-03 16:54:30 +00:00
PDB [llvm-pdbdump] Display full enum definitions. 2015-03-04 06:09:53 +00:00
PowerPC Print section start labels when first switching to the section. 2015-03-11 00:51:37 +00:00
Sparc [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
SystemZ DebugInfo: Fix bad debug info for compile units and types 2015-03-27 20:46:33 +00:00
X86 Reapply "Verifier: Check for incompatible bit piece expressions" 2015-04-13 18:53:11 +00:00
2009-10-16-Phi.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
2009-11-03-InsertExtractValue.ll DebugInfo: Fix testcases with invalid MDSubprogram nodes 2015-03-28 02:26:45 +00:00
2009-11-05-DeadGlobalVariable.ll DebugInfo: Fix bad debug info for compile units and types 2015-03-27 20:46:33 +00:00
2009-11-06-NamelessGlobalVariable.ll DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
2009-11-10-CurrentFn.ll DebugInfo: Update testcases with invalid variables 2015-03-27 01:58:34 +00:00
2010-01-05-DbgScope.ll DebugInfo: Fix bad debug info for compile units and types 2015-03-27 20:46:33 +00:00
2010-03-12-llc-crash.ll DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
2010-03-19-DbgDeclare.ll DebugInfo: Update testcases with invalid variables 2015-03-27 01:58:34 +00:00
2010-03-24-MemberFn.ll DebugInfo: Fix bad debug info for compile units and types 2015-03-27 20:46:33 +00:00
2010-04-06-NestedFnDbgInfo.ll DebugInfo: Fix bad debug info for compile units and types 2015-03-27 20:46:33 +00:00
2010-04-19-FramePtr.ll DebugInfo: Fix bad debug info for compile units and types 2015-03-27 20:46:33 +00:00
2010-05-03-DisableFramePtr.ll DebugInfo: Fix bad debug info for compile units and types 2015-03-27 20:46:33 +00:00
2010-05-03-OriginDIE.ll Verifier: Check that inlined-at locations agree 2015-04-03 16:54:30 +00:00
2010-05-10-MultipleCU.ll DebugInfo: Fix bad debug info for compile units and types 2015-03-27 20:46:33 +00:00
2010-06-29-InlinedFnLocalVar.ll Verifier: Check that inlined-at locations agree 2015-04-03 16:54:30 +00:00
2010-07-19-Crash.ll DebugInfo: Fix bad debug info for compile units and types 2015-03-27 20:46:33 +00:00
2010-10-01-crash.ll DebugInfo: Fix bad debug info for compile units and types 2015-03-27 20:46:33 +00:00
accel-table-hash-collisions.ll DwarfAccelTable: Fix handling of hash collisions. 2015-03-10 00:46:31 +00:00
arm-relocs.test
array.ll DebugInfo: Fix bad debug info for compile units and types 2015-03-27 20:46:33 +00:00
block-asan.ll DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
bug_null_debuginfo.ll DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
constant-pointers.ll DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
cross-cu-inlining.ll Verifier: Check that inlined-at locations agree 2015-04-03 16:54:30 +00:00
cross-cu-linkonce-distinct.ll DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
cross-cu-linkonce.ll DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
cu-range-hole.ll DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
cu-ranges.ll DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
dead-argument-order.ll DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
debug-info-always-inline.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
debug-info-qualifiers.ll DebugInfo: Fix testcases with invalid MDSubprogram nodes 2015-03-28 02:26:45 +00:00
debuginfofinder-multiple-cu.ll DebugInfo: Fix bad debug info for compile units and types 2015-03-27 20:46:33 +00:00
debuglineinfo.test
dwarf-public-names.ll DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
dwarfdump-accel.test
dwarfdump-debug-frame-simple.test [dwarfdump] Make debug_frame dump actually useful. 2015-02-25 21:30:22 +00:00
dwarfdump-debug-loc-simple.test
dwarfdump-dump-flags.test
dwarfdump-line-dwo.test
dwarfdump-objc.test
dwarfdump-pubnames.test
dwarfdump-ranges.test
dwarfdump-type-units.test
dwarfdump-zlib.test
empty.ll Split test in two to handle building without x86. 2015-03-10 23:44:12 +00:00
enum-types.ll DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
enum.ll DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
global.ll DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
gmlt.test
incorrect-variable-debugloc1.ll DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
incorrect-variable-debugloc.ll DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
inheritance.ll [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
inline-debug-info-multiret.ll DebugInfo: Fix bad debug info for compile units and types 2015-03-27 20:46:33 +00:00
inline-debug-info.ll DebugInfo: Fix bad debug info for compile units and types 2015-03-27 20:46:33 +00:00
inline-no-debug-info.ll DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
inline-scopes.ll Verifier: Check that inlined-at locations agree 2015-04-03 16:54:30 +00:00
inlined-arguments.ll DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
inlined-vars.ll DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
llvm-symbolizer-zlib.test
llvm-symbolizer.test
location-verifier.ll Verifier: Check that !dbg attachments have the right type 2015-03-20 19:26:58 +00:00
lto-comp-dir.ll DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
member-order.ll DebugInfo: Fix testcases with invalid MDSubprogram nodes 2015-03-28 02:26:45 +00:00
member-pointers.ll DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
member-pointers.o
missing-abstract-variable.ll DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
missing-abstract-variable.o
multiline.ll DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
namespace_function_definition.ll Emit correct linkage-name attribute based on DWARF version. 2015-03-10 22:44:45 +00:00
namespace_inline_function_definition.ll Verifier: Check that inlined-at locations agree 2015-04-03 16:54:30 +00:00
namespace.ll DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
nodebug.ll DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
piece-verifier.ll Verifier: Remove unnecessary double-checks 2015-03-16 20:24:02 +00:00
PR20038.ll Verifier: Check that inlined-at locations agree 2015-04-03 16:54:30 +00:00
restrict.ll DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
sugared-constants.ll DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
template-recursive-void.ll DebugInfo: Fix testcases with invalid MDSubprogram nodes 2015-03-28 02:26:45 +00:00
tu-composite.ll DebugInfo: Fix testcases with invalid MDSubprogram nodes 2015-03-28 02:26:45 +00:00
tu-member-pointer.ll DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
two-cus-from-same-file.ll [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
typedef.ll DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
unconditional-branch.ll DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
varargs.ll DebugInfo: Fix testcases with invalid MDSubprogram nodes 2015-03-28 02:26:45 +00:00
version.ll DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00