llvm-project/llvm/tools
JF Bastien f87e20dd87 bugpoint Enhancement.
Summary:
This patch adds two flags to `bugpoint`: "-replace-funcs-with-null" and "-disable-pass-list-reduction".

When "-replace-funcs-with-null" is specified, bugpoint will, instead of simply deleting function bodies, replace all uses of functions and then will delete functions completely from the test module, correctly handling aliasing and @llvm.used && @llvm.compiler.used. This part was conceived while trying to debug the PNaCl IR simplification passes, which don't allow undefined functions (ie no declarations).

With "-disable-pass-list-reduction", bugpoint won't try to reduce the set of passes causing the "crash". This is needed in cases where one is trying to debug an issue inside the PNaCl IR simplification passes which is causing an PNaCl ABI verification error, for example.

Reviewers: jfb

Reviewed By: jfb

Subscribers: jfb, llvm-commits

Differential Revision: http://reviews.llvm.org/D8555

llvm-svn: 235362
2015-04-20 23:42:22 +00:00
..
bugpoint bugpoint Enhancement. 2015-04-20 23:42:22 +00:00
bugpoint-passes bugpoint Enhancement. 2015-04-20 23:42:22 +00:00
dsymutil Don't declare all text sections at the start of the .s 2015-03-20 20:00:01 +00:00
gold Fix build error from r234957 2015-04-15 00:13:51 +00:00
llc Use raw_pwrite_stream in the object writer/streamer. 2015-04-14 22:14:34 +00:00
lli Remove the JITEmitDebugInfo TargetOptions as they're only set and 2015-04-19 03:20:51 +00:00
llvm-ar Purge unused includes throughout libSupport. 2015-03-23 18:07:13 +00:00
llvm-as uselistorder: Remove the global bits 2015-04-15 03:14:06 +00:00
llvm-bcanalyzer [opaque pointer type] Bitcode support for explicit type parameter on GEP. 2015-02-25 01:08:52 +00:00
llvm-c-test Fix build breakage caused by memory leaks in llvm-c-test 2015-01-28 18:32:31 +00:00
llvm-config Refactoring CMake CrossCompile module. 2015-03-12 17:33:34 +00:00
llvm-cov llvm-cov: Require a subcommand when invoked as llvm-cov 2015-03-24 23:34:36 +00:00
llvm-cxxdump Change range-based for-loop to use const auto&. No functionality change. 2015-04-15 03:17:49 +00:00
llvm-diff Revert "Remove the explicit SDNodeIterator::operator= in favor of the implicit default" 2015-03-03 21:18:16 +00:00
llvm-dis uselistorder: Remove the global bits 2015-04-15 03:14:06 +00:00
llvm-dwarfdump Move DebugInfo to DebugInfo/DWARF. 2015-01-30 18:07:45 +00:00
llvm-extract uselistorder: Remove the global bits 2015-04-15 03:14:06 +00:00
llvm-go llvm-go: Set $GCCGO instead of putting a gccgo executable on $PATH. 2015-02-14 01:45:57 +00:00
llvm-jitlistener llvm-jitlistener: Add missing include. 2015-03-25 17:12:36 +00:00
llvm-link uselistorder: Remove the global bits 2015-04-15 03:14:06 +00:00
llvm-lto libLTO, llvm-lto, gold: Introduce flag for controlling optimization level. 2015-03-19 22:01:00 +00:00
llvm-mc Add targets to cmake for specific target components. 2015-04-20 18:22:05 +00:00
llvm-mcmarkup Explicitly pass ownership of the MemoryBuffer to AddNewSourceBuffer using std::unique_ptr 2014-08-21 20:44:56 +00:00
llvm-nm Cleanup else-after-return and add an early-return to llvm-nm 2015-03-23 21:17:43 +00:00
llvm-objdump For llvm-objdump, dump the (__OBJC,__protocol) section for Objc1 32-bit Mach-O files 2015-04-16 22:33:20 +00:00
llvm-pdbdump [PDB] Support executables and source/line info. 2015-04-17 22:40:36 +00:00
llvm-profdata Purge unused includes throughout libSupport. 2015-03-23 18:07:13 +00:00
llvm-readobj [Mips] Support DT_MIPS_OPTIONS dynamic section tag in the llvm-readobj 2015-04-20 05:34:48 +00:00
llvm-rtdyld [RuntimeDyld] Work around a bug in RuntimeDyldELF exposed by r234839. 2015-04-15 21:18:41 +00:00
llvm-shlib Updating symbol wildcards one more time. 2015-04-16 21:58:22 +00:00
llvm-size Assigning and copying command line option objects shouldn't be allowed. 2015-01-22 01:49:59 +00:00
llvm-stress Verifier: Remove the separate -verify-di pass 2015-03-19 22:24:17 +00:00
llvm-symbolizer Purge unused includes throughout libSupport. 2015-03-23 18:07:13 +00:00
lto [LTO API] add lto_codegen_set_should_internalize. 2015-04-17 17:10:09 +00:00
macho-dump Add printing the LC_LINKER_OPTION load command with llvm-objdump’s -private-headers. 2014-12-18 00:53:40 +00:00
msbuild MSBuild integration: fix the loop in install.bat 2014-09-30 22:30:06 +00:00
obj2yaml [obj2yaml/yaml2obj] Add SHT_GROUP support. 2015-02-21 04:28:26 +00:00
opt DebugInfo: Delete DIDescriptor (but not its subclasses) 2015-04-18 00:35:36 +00:00
verify-uselistorder uselistorder: Pull the assembly bit up out of the printer 2015-04-15 02:12:41 +00:00
yaml2obj Mark empty default constructors as =default if it makes the type POD 2015-04-11 18:57:14 +00:00
CMakeLists.txt llvm-cxxdump: Rename llvm-vtabledump to llvm-cxxdump 2015-03-15 01:30:58 +00:00
LLVMBuild.txt Add llvm-pdbdump to tools. 2015-01-27 20:46:21 +00:00
Makefile llvm-cxxdump: Rename llvm-vtabledump to llvm-cxxdump 2015-03-15 01:30:58 +00:00