llvm-project/llvm/test
Michael Ilseman d0a4db7632 Add -strip-nonlinetable-debuginfo capability
This adds a new function to DebugInfo.cpp that takes an llvm::Module
as input and removes all debug info metadata that is not directly
needed for line tables, thus effectively stripping all type and
variable information from the module.

The primary motivation for this feature was the bitcode work flow
(cf. http://lists.llvm.org/pipermail/llvm-dev/2016-June/100643.html
for more background). This is not wired up yet, but will be in
subsequent patches.  For testing, the new functionality is exposed to
opt with a -strip-nonlinetable-debuginfo option.

The secondary use-case (and one that works right now!) is as a
reduction pass in bugpoint. I added two new bugpoint options
(-disable-strip-debuginfo and -disable-strip-debug-types) to control
the new features. By default it will first attempt to remove all debug
information, then only the type info, and then proceed to hack at any
remaining MDNodes.

llvm-svn: 283473
2016-10-06 17:58:38 +00:00
..
Analysis [ValueTracking] Teach computeKnownBits and ComputeNumSignBits to look through ExtractElement. 2016-10-06 09:56:21 +00:00
Assembler Fix IntegerType::MAX_INT_BITS value 2016-10-04 12:43:46 +00:00
Bindings
Bitcode [thinlto] Basic thinlto fdo heuristic 2016-09-26 20:37:32 +00:00
BugPoint Add -strip-nonlinetable-debuginfo capability 2016-10-06 17:58:38 +00:00
CodeGen BranchRelaxation: Support expanding unconditional branches 2016-10-06 16:20:41 +00:00
DebugInfo [codeview] Truncate records to maximum record size near 64KB 2016-10-05 22:36:07 +00:00
Demangle Add an c++ itanium demangler to llvm. 2016-09-06 19:16:48 +00:00
Examples
ExecutionEngine [ORC] Clone module flags metadata into the globals module in the 2016-09-04 17:53:30 +00:00
Feature Revert "Revert "Invariant start/end intrinsics overloaded for address space"" 2016-08-13 23:31:24 +00:00
FileCheck
Instrumentation [ASAN] Add the binder globals on Darwin to llvm.compiler.used to avoid LTO dead-stripping 2016-10-01 00:05:34 +00:00
Integer
JitListener
LTO Don't drop the llvm. prefix when renaming. 2016-10-03 15:51:42 +00:00
LibDriver
Linker Fix autoupgrade logic for Objective-C class properties module flag 2016-09-16 00:38:18 +00:00
MC [X86] Fix intel syntax push parsing bug 2016-10-06 15:28:08 +00:00
Object Centralize sh_entsize checking. 2016-10-06 15:08:10 +00:00
ObjectYAML [macho2yaml] Don't write empty linkedit data 2016-08-17 21:46:04 +00:00
Other [PM] Port CFGViewer and CFGPrinter to the new Pass Manager 2016-09-15 18:35:27 +00:00
SymbolRewriter
TableGen [TableGen] AsmMatcher: Add AsmVariantName to Instruction class. 2016-09-08 15:50:52 +00:00
ThinLTO/X86 [ThinLTO] Always emit a summary when compiling in ThinLTO mode 2016-09-20 23:07:17 +00:00
Transforms Add -strip-nonlinetable-debuginfo capability 2016-10-06 17:58:38 +00:00
Unit
Verifier Verifier: Reject any unknown named MD nodes in the llvm.dbg namespace. 2016-10-05 22:15:37 +00:00
YAMLParser
tools [llvm-opt-report] Record VF, etc. correctly for multiple opts on one line 2016-10-06 11:58:52 +00:00
.clang-format
CMakeLists.txt Add an llvm-opt-report tool to generate basic source-annotated optimization summaries 2016-10-05 22:10:35 +00:00
TestRunner.sh
lit.cfg cmake: Install the OCaml libraries into a more correct path 2016-09-30 18:34:23 +00:00
lit.site.cfg.in