1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 02:52:53 +02:00
llvm-mirror/tools
Michael Ilseman eba5480140 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.

Thanks to Adrian Prantl for stewarding this patch!

llvm-svn: 285094
2016-10-25 18:44:13 +00:00
..
bugpoint Add -strip-nonlinetable-debuginfo capability 2016-10-25 18:44:13 +00:00
bugpoint-passes
dsymutil Replace "fallthrough" comments with LLVM_FALLTHROUGH 2016-08-17 05:10:15 +00:00
gold Make the LTO comdat api more symbol table friendly. 2016-10-25 12:02:03 +00:00
llc Revert "Use StringRef instead of raw pointer in TargetRegistry API (NFC)" 2016-10-01 07:08:23 +00:00
lli Turn cl::values() (for enum) from a vararg function to using C++ variadic template 2016-10-08 19:41:06 +00:00
llvm-ar [Object] Replace TimeValue with std::chrono 2016-10-24 13:38:27 +00:00
llvm-as Search for llvm-symbolizer binary in the same directory as argv[0], before 2016-06-09 00:53:21 +00:00
llvm-as-fuzzer
llvm-bcanalyzer Rename Error -> ReportError. 2016-10-03 18:17:18 +00:00
llvm-c-test Add support for callsite in the new C API for attributes 2016-06-15 05:14:29 +00:00
llvm-config Replace a few more "fall through" comments with LLVM_FALLTHROUGH 2016-08-17 20:30:52 +00:00
llvm-cov [llvm-cov] Add support for loading coverage from multiple objects 2016-10-25 17:40:55 +00:00
llvm-cxxdump Fix a bug in the code of llvm-cxxdump in dumpArchive() when 2016-10-21 20:03:14 +00:00
llvm-cxxfilt [llvm-cxxfilt] Use llvm::outs(). Simplify. 2016-09-27 18:50:30 +00:00
llvm-diff
llvm-dis IR: Allow metadata attachments on declarations, and fix lazy loaded metadata issue with globals. 2016-06-21 23:42:48 +00:00
llvm-dwarfdump dwarfdump: -summarize-types: print a short summary (unqualified type name, hash, length) of type units rather than dumping contents 2016-10-18 21:09:48 +00:00
llvm-dwp MC] Provide an MCTargetOptions to implementors of MCAsmBackendCtorTy, NFC 2016-07-25 17:18:28 +00:00
llvm-extract Search for llvm-symbolizer binary in the same directory as argv[0], before 2016-06-09 00:53:21 +00:00
llvm-go [llvm-go] parameterize $GOPATH construction 2016-07-27 03:21:51 +00:00
llvm-jitlistener Search for llvm-symbolizer binary in the same directory as argv[0], before 2016-06-09 00:53:21 +00:00
llvm-link [llvm-link] Fix description of -disable-lazy-loading option 2016-10-09 17:15:04 +00:00
llvm-lto Turn cl::values() (for enum) from a vararg function to using C++ variadic template 2016-10-08 19:41:06 +00:00
llvm-lto2 [ThinLTO] Default backend threads to heavyweight_hardware_concurrency 2016-10-19 17:35:01 +00:00
llvm-mc Turn cl::values() (for enum) from a vararg function to using C++ variadic template 2016-10-08 19:41:06 +00:00
llvm-mc-fuzzer Turn cl::values() (for enum) from a vararg function to using C++ variadic template 2016-10-08 19:41:06 +00:00
llvm-mcmarkup Search for llvm-symbolizer binary in the same directory as argv[0], before 2016-06-09 00:53:21 +00:00
llvm-nm Turn cl::values() (for enum) from a vararg function to using C++ variadic template 2016-10-08 19:41:06 +00:00
llvm-objdump For llvm-objdump for Mach-O files add printing of 2016-10-21 18:22:35 +00:00
llvm-opt-report [llvm-opt-report] Fix unroll-count reporting 2016-10-24 05:07:18 +00:00
llvm-pdbdump [pdb] added support for dumping globals stream 2016-10-21 19:43:19 +00:00
llvm-profdata [PGO] Fix a use-after-move. NFC. 2016-10-19 23:31:59 +00:00
llvm-readobj [CodeView] Refactor serialization to use StreamInterface. 2016-10-20 18:31:19 +00:00
llvm-rtdyld Turn cl::values() (for enum) from a vararg function to using C++ variadic template 2016-10-08 19:41:06 +00:00
llvm-shlib
llvm-size Turn cl::values() (for enum) from a vararg function to using C++ variadic template 2016-10-08 19:41:06 +00:00
llvm-split
llvm-stress Use StringRef in CommandLine Options handling (NFC) 2016-10-01 03:43:20 +00:00
llvm-symbolizer Turn cl::values() (for enum) from a vararg function to using C++ variadic template 2016-10-08 19:41:06 +00:00
lto Recommit "Use StringRef in LTOModule implementation (NFC)"" 2016-10-07 19:05:14 +00:00
msbuild
obj2yaml Remove LLVM_NOEXCEPT and replace it with noexcept 2016-10-19 23:52:38 +00:00
opt Use StringRef in Pass/PassManager APIs (NFC) 2016-10-01 02:56:57 +00:00
sancov [sancov] add __sanitizer_cov_trace_pc_guard to the supported coverage points 2016-10-18 18:11:42 +00:00
sanstats [Symbolize] Check if the PE file has a PDB and emit an error if we can't load it 2016-06-03 20:25:09 +00:00
verify-uselistorder Search for llvm-symbolizer binary in the same directory as argv[0], before 2016-06-09 00:53:21 +00:00
xcode-toolchain [CMake] Minor fix to regex in r279152 2016-08-18 21:36:36 +00:00
yaml2obj Misc improvements to StringTableBuilder. 2016-10-04 22:43:25 +00:00
CMakeLists.txt Fixup r271533, or check-clang didn't find llvm-lto as the target. 2016-06-02 20:39:24 +00:00
LLVMBuild.txt