forked from OSchip/llvm-project
Do not DESTROY programs by default. No wonder bugpoint was not being useful all this time!
llvm-svn: 10175
This commit is contained in:
parent
edb102c266
commit
3f1ad878ac
|
@ -24,16 +24,12 @@
|
|||
#include "llvm/Transforms/Utils/Cloning.h"
|
||||
#include "llvm/Target/TargetData.h"
|
||||
#include "Support/CommandLine.h"
|
||||
|
||||
using namespace llvm;
|
||||
|
||||
namespace llvm {
|
||||
|
||||
bool DisableSimplifyCFG = false;
|
||||
|
||||
bool DisableSimplifyCFG = false;
|
||||
} // End llvm namespace
|
||||
|
||||
using namespace llvm;
|
||||
|
||||
namespace {
|
||||
cl::opt<bool>
|
||||
NoADCE("disable-adce",
|
||||
|
@ -46,8 +42,6 @@ namespace {
|
|||
cl::desc("Do not use the -simplifycfg pass to reduce testcases"));
|
||||
}
|
||||
|
||||
namespace llvm {
|
||||
|
||||
/// deleteInstructionFromProgram - This method clones the current Program and
|
||||
/// deletes the specified instruction from the cloned module. It then runs a
|
||||
/// series of cleanup passes (ADCE and SimplifyCFG) to eliminate any code which
|
||||
|
@ -114,8 +108,12 @@ Module *BugDriver::performFinalCleanups(Module *M, bool MayModifySemantics) {
|
|||
CleanupPasses.push_back(getPI(createFunctionResolvingPass()));
|
||||
CleanupPasses.push_back(getPI(createGlobalDCEPass()));
|
||||
CleanupPasses.push_back(getPI(createDeadTypeEliminationPass()));
|
||||
CleanupPasses.push_back(getPI(createDeadArgHackingPass()));
|
||||
|
||||
if (MayModifySemantics)
|
||||
CleanupPasses.push_back(getPI(createDeadArgHackingPass()));
|
||||
else
|
||||
CleanupPasses.push_back(getPI(createDeadArgEliminationPass()));
|
||||
|
||||
std::swap(Program, M);
|
||||
std::string Filename;
|
||||
bool Failed = runPasses(CleanupPasses, Filename);
|
||||
|
@ -134,5 +132,3 @@ Module *BugDriver::performFinalCleanups(Module *M, bool MayModifySemantics) {
|
|||
}
|
||||
return M;
|
||||
}
|
||||
|
||||
} // End llvm namespace
|
||||
|
|
Loading…
Reference in New Issue