llvm-project/llvm/test/Linker/Inputs
Keno Fischer 81e2e9ef86 Reapply r257105 "[Verifier] Check that debug values have proper size"
I originally reapplied this in 257550, but had to revert again due to bot
breakage. The only change in this version is to allow either the TypeSize
or the TypeAllocSize of the variable to be the one represented in debug info
(hopefully in the future we can figure out how to encode the difference).
Additionally, several bot failures following r257550, were due to
optimizer bugs now fixed in r257787 and r257795.

r257550 commit message was:

```
The follow extra changes were made to test cases:

Manually making the variable be the actual type instead of a pointer
to avoid pointer-size differences in generic code:

    LLVM :: DebugInfo/Generic/2010-03-24-MemberFn.ll
    LLVM :: DebugInfo/Generic/2010-04-06-NestedFnDbgInfo.ll
    LLVM :: DebugInfo/Generic/2010-05-03-DisableFramePtr.ll
    LLVM :: DebugInfo/Generic/varargs.ll

Delete sizing information from debug info for the same reason
(but the presence of the pointer was important to the test case):

    LLVM :: DebugInfo/Generic/restrict.ll
    LLVM :: DebugInfo/Generic/tu-composite.ll
    LLVM :: Linker/type-unique-type-array-a.ll
    LLVM :: Linker/type-unique-simple2.ll

Fixing an incorrect DW_OP_deref

    LLVM :: DebugInfo/Generic/2010-05-03-OriginDIE.ll

Fixing a missing DW_OP_deref

    LLVM :: DebugInfo/Generic/incorrect-variable-debugloc.ll

Additionally, clang should no longer complain during bootstrap should no
longer happen after r257534.

The original commit message was:
``
Summary:
Teach the Verifier to make sure that the storage size given to llvm.dbg.declare
or the value size given to llvm.dbg.value agree with what is declared in
DebugInfo. This is implicitly assumed in a number of passes (e.g. in SROA).
Additionally this catches a number of common mistakes, such as passing a
pointer when a value was intended or vice versa.

One complication comes from stack coloring which modifies the original IR when
it merges allocas in order to make sure that if AA falls back to the IR it gets
the correct result. However, given this new invariant, indiscriminately
replacing one alloca by a different (differently sized one) is no longer valid.
Fix this by just undefing out any use of the alloca in a dbg.declare in this
case.

Additionally, I had to fix a number of test cases. Of particular note:
- I regenerated dbg-changes-codegen-branch-folding.ll from the given source as
  it was affected by the bug fixed in r256077
- two-cus-from-same-file.ll was changed to avoid having a variable-typed debug
  variable as that would depend on the target, even though this test is
  supposed to be generic
- I had to manually declared size/align for reference type. See also the
  discussion for D14275/r253186.
- fpstack-debuginstr-kill.ll required changing `double` to `long double`
- most others were just a question of adding OP_deref
``

```

llvm-svn: 257850
2016-01-15 00:46:17 +00:00
..
apple-version
2003-01-30-LinkerRename.ll
2003-05-31-LinkerRename.ll
ConstantGlobals.ll
PR8300.a.ll
PR8300.b.ll [opaque pointer type] Add textual IR support for explicit type parameter for global aliases 2015-09-11 03:22:04 +00:00
PR11464.a.ll
PR11464.b.ll
alias.ll [opaque pointer type] Add textual IR support for explicit type parameter for global aliases 2015-09-11 03:22:04 +00:00
alignment.ll
available_externally_over_decl.ll Fix another case where the linkage was not set. 2015-12-10 18:44:26 +00:00
basiclink.a.ll
basiclink.b.ll [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
comdat.ll
comdat2.ll
comdat3.ll
comdat4.ll
comdat5.ll [opaque pointer type] Add textual IR support for explicit type parameter for global aliases 2015-09-11 03:22:04 +00:00
comdat8.ll [opaque pointer type] Add textual IR support for explicit type parameter for global aliases 2015-09-11 03:22:04 +00:00
comdat11.ll Bring r254336 back: 2015-12-01 15:19:48 +00:00
comdat13.ll Bring r254336 back: 2015-12-01 15:19:48 +00:00
comdat14.ll Don't copy information from aliasee to alias. 2015-12-02 20:03:17 +00:00
comdat15.ll Also copy private linkage globals when needed. 2015-12-02 20:57:33 +00:00
constructor-comdat.ll
ctors.ll
ctors2.ll Correctly handle llvm.global_ctors merging. 2015-11-29 03:29:42 +00:00
ctors3.ll Fix another llvm.ctors merging bug. 2015-11-30 18:54:24 +00:00
datalayout-a.ll
datalayout-b.ll
distinct.ll
drop-debug.bc Work around pr23045 and make it easier to reproduce. 2015-03-27 15:55:06 +00:00
funcimport.ll Restore "Support for ThinLTO function importing and symbol linking." 2015-11-03 00:14:15 +00:00
funcimport_appending_global.ll [ThinLTO] Appending linkage fixes 2015-12-03 18:20:05 +00:00
ident.a.ll
ident.b.ll
internalize-lazy.ll Add a test showing that we internalize lazily linked GVs. 2015-12-08 02:38:14 +00:00
linkage.a.ll
linkage.b.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
linkage.c.ll New bitcode linker flags: 2015-09-01 17:55:55 +00:00
linkage2.ll
mdlocation.ll DI: Require subprogram definitions to be distinct 2015-08-28 20:26:49 +00:00
metadata-function.ll Linker: Copy over function metadata attachments 2015-04-24 22:07:31 +00:00
module-flags-dont-change-others.ll
module-flags-pic-1-b.ll
module-flags-pic-2-b.ll
old_global_ctors.3.4.bc
only-needed-debug-metadata.ll [ThinLTO/LTO] Don't link in unneeded metadata 2015-12-18 17:51:37 +00:00
only-needed-named-metadata.ll Ensure ModuleLinker materializes complete comdat groups 2015-11-10 21:09:06 +00:00
opaque.ll Link declaration lazily. 2015-12-07 16:31:41 +00:00
override-different-linkage.ll Linker: Add flag to override linkage rules 2015-04-22 04:11:00 +00:00
override-with-internal-linkage-2.ll Linker: Add flag to override linkage rules 2015-04-22 04:11:00 +00:00
override-with-internal-linkage.ll Linker: Add flag to override linkage rules 2015-04-22 04:11:00 +00:00
override.ll Linker: Add flag to override linkage rules 2015-04-22 04:11:00 +00:00
pr21374.ll
pr22807-1.ll Remember to move a type to the correct set when setting the body. 2015-03-06 00:50:21 +00:00
pr22807-2.ll Remember to move a type to the correct set when setting the body. 2015-03-06 00:50:21 +00:00
pr26037.ll Always treat DISubprogram reached by DIImportedEntity as needed. 2016-01-07 00:06:27 +00:00
redefinition.ll
replaced-function-matches-first-subprogram.ll DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
subprogram-linkonce-weak.ll DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
targettriple-a.ll
targettriple-b.ll
targettriple-c.ll
testlink.ll Link declaration lazily. 2015-12-07 16:31:41 +00:00
thinlto_funcimport_debug.ll [ThinLTO] Metadata linking for imported functions 2015-12-17 17:14:09 +00:00
type-unique-alias.ll [opaque pointer type] Add textual IR support for explicit type parameter for global aliases 2015-09-11 03:22:04 +00:00
type-unique-dst-types2.ll Link declaration lazily. 2015-12-07 16:31:41 +00:00
type-unique-dst-types3.ll Link declaration lazily. 2015-12-07 16:31:41 +00:00
type-unique-inheritance-a.ll DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
type-unique-inheritance-b.ll DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
type-unique-name.ll
type-unique-opaque.ll
type-unique-simple2-a.ll Reapply r257105 "[Verifier] Check that debug values have proper size" 2016-01-15 00:46:17 +00:00
type-unique-simple2-b.ll Reapply r257105 "[Verifier] Check that debug values have proper size" 2016-01-15 00:46:17 +00:00
type-unique-unrelated2.ll
type-unique-unrelated3.ll
unique-fwd-decl-b.ll
unique-fwd-decl-order.ll
visibility.ll [opaque pointer type] Add textual IR support for explicit type parameter for global aliases 2015-09-11 03:22:04 +00:00