mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-09 12:36:28 +00:00
Add -disable-global-remove option to bugpoint.
Sometimes when bugpointing a crash the bugpoint-reduced-simplified.bc reproduces a totally different bug than the original one ("GV doesn't have initializer"). Although its useful to report that bug too, I need a way to reduce the original bug, hence I introduced -disable-global-remove. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72361 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
7d869fb062
commit
23d471f62e
@ -37,6 +37,10 @@ namespace {
|
|||||||
KeepMain("keep-main",
|
KeepMain("keep-main",
|
||||||
cl::desc("Force function reduction to keep main"),
|
cl::desc("Force function reduction to keep main"),
|
||||||
cl::init(false));
|
cl::init(false));
|
||||||
|
cl::opt<bool>
|
||||||
|
NoGlobalRM ("disable-global-remove",
|
||||||
|
cl::desc("Do not remove global variables"),
|
||||||
|
cl::init(false));
|
||||||
}
|
}
|
||||||
|
|
||||||
namespace llvm {
|
namespace llvm {
|
||||||
@ -344,7 +348,8 @@ bool ReduceCrashingBlocks::TestBlocks(std::vector<const BasicBlock*> &BBs) {
|
|||||||
static bool DebugACrash(BugDriver &BD, bool (*TestFn)(BugDriver &, Module *)) {
|
static bool DebugACrash(BugDriver &BD, bool (*TestFn)(BugDriver &, Module *)) {
|
||||||
// See if we can get away with nuking some of the global variable initializers
|
// See if we can get away with nuking some of the global variable initializers
|
||||||
// in the program...
|
// in the program...
|
||||||
if (BD.getProgram()->global_begin() != BD.getProgram()->global_end()) {
|
if (!NoGlobalRM &&
|
||||||
|
BD.getProgram()->global_begin() != BD.getProgram()->global_end()) {
|
||||||
// Now try to reduce the number of global variable initializers in the
|
// Now try to reduce the number of global variable initializers in the
|
||||||
// module to something small.
|
// module to something small.
|
||||||
Module *M = CloneModule(BD.getProgram());
|
Module *M = CloneModule(BD.getProgram());
|
||||||
|
Loading…
Reference in New Issue
Block a user