llvm-project/llvm/tools/bugpoint
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
..
BugDriver.cpp tools: Unify how verifyModule() is called 2015-03-31 03:07:23 +00:00
BugDriver.h Return a std::unique_ptr from parseInputFile and propagate. NFC. 2014-08-26 17:19:03 +00:00
CMakeLists.txt CMake: Disable ENABLE_EXPORTS for executables with MSVC 2015-03-18 20:09:13 +00:00
CrashDebugger.cpp bugpoint Enhancement. 2015-04-20 23:42:22 +00:00
ExecutionDriver.cpp Remove 'using std::error_code' from tools. 2014-06-13 03:07:50 +00:00
ExtractFunction.cpp Replace a few instances of NULL with nullptr. 2015-02-26 01:10:49 +00:00
FindBugs.cpp [C++] Use 'nullptr'. Tools edition. 2014-04-25 04:24:47 +00:00
LLVMBuild.txt [CodeGenPrepare] Move CodeGenPrepare into lib/CodeGen. 2014-02-22 00:07:45 +00:00
ListReducer.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
Makefile [CodeGenPrepare] Move CodeGenPrepare into lib/CodeGen. 2014-02-22 00:07:45 +00:00
Miscompilation.cpp [opaque pointer type] API migration for GEP constant factories 2015-04-02 18:55:32 +00:00
OptimizerDriver.cpp uselistorder: Remove the global bits 2015-04-15 03:14:06 +00:00
ToolRunner.cpp Use findProgramByName. 2014-11-04 01:29:59 +00:00
ToolRunner.h Use 'override/final' instead of 'virtual' for overridden methods 2015-04-11 02:11:45 +00:00
bugpoint.cpp uselistorder: Remove the global bits 2015-04-15 03:14:06 +00:00