llvm-6502/tools/bugpoint
JF Bastien 7b862ec88e 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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@235362 91177308-0d34-0410-b5e6-96231b3b80d8
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
bugpoint.cpp uselistorder: Remove the global bits 2015-04-15 03:14:06 +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
ListReducer.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
LLVMBuild.txt [CodeGenPrepare] Move CodeGenPrepare into lib/CodeGen. 2014-02-22 00:07:45 +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