llvm/unittests
Adrian Prantl f68fb38629 Separate the Verifier into an analysis and a transformation pass and
allow the transformation to strip invalid debug info.

This patch separates the Verifier into an analysis and a transformation
pass, with the transformation pass optionally stripping malformed
debug info.

The problem I'm trying to solve with this sequence of patches is that
historically we've done a really bad job at verifying debug info. We want
to be able to make the verifier stricter without having to worry about
breaking bitcode compatibility with existing producers. For example, we
don't necessarily want IR produced by an older version of clang to be
rejected by an LTO link just because of malformed debug info, and rather
provide an option to strip it. Note that merely outdated (but well-formed)
debug info would continue to be auto-upgraded in this scenario.

http://reviews.llvm.org/D19988
rdar://problem/25818489

This reapplies r268937 without modifications.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@268966 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-09 19:57:29 +00:00
..
ADT [ADT] Add drop_front method to ArrayRef 2016-05-03 20:53:20 +00:00
Analysis PM: Check that loop passes preserve a basic set of analyses 2016-05-03 21:35:08 +00:00
AsmParser Remove every uses of getGlobalContext() in LLVM (but the C API) 2016-04-14 21:59:01 +00:00
Bitcode Remove every uses of getGlobalContext() in LLVM (but the C API) 2016-04-14 21:59:01 +00:00
CodeGen Remove autoconf support 2016-01-26 21:29:08 +00:00
DebugInfo Fix build of DebugInfoPDBTests. 2016-05-04 21:06:12 +00:00
ExecutionEngine [ORC] clang-format code that was touched in r267457. NFC. 2016-04-25 21:21:20 +00:00
IR Separate the Verifier into an analysis and a transformation pass and 2016-05-09 19:57:29 +00:00
LineEditor Remove autoconf support 2016-01-26 21:29:08 +00:00
Linker Delete the deprecated LLVMLinkModules. 2016-02-12 15:28:45 +00:00
MC Move ObjectYAML code to a new library. 2016-03-01 19:15:06 +00:00
MI LiveIntervalAnalysis: Fix handleMove() extending liverange for undef inputs 2016-05-06 21:47:41 +00:00
ObjectYAML Move ObjectYAML code to a new library. 2016-03-01 19:15:06 +00:00
Option Option parser: class for consuming a joined arg in addition to all remaining args 2016-04-15 00:23:30 +00:00
ProfileData [Coverage] Combine counts of expansion regions if there are no code regions for the same area. 2016-05-05 09:39:45 +00:00
Support [Support] Add a free toString function for Error 2016-05-03 23:32:31 +00:00
Transforms [MemorySSA] Fix bugs in walker; refactor unittests a bit. 2016-04-29 18:42:55 +00:00
CMakeLists.txt Move ObjectYAML code to a new library. 2016-03-01 19:15:06 +00:00