diff options
Diffstat (limited to 'llvm/tools/bugpoint')
| -rw-r--r-- | llvm/tools/bugpoint/CrashDebugger.cpp | 22 | ||||
| -rw-r--r-- | llvm/tools/bugpoint/ExtractFunction.cpp | 4 | ||||
| -rw-r--r-- | llvm/tools/bugpoint/Miscompilation.cpp | 24 |
3 files changed, 25 insertions, 25 deletions
diff --git a/llvm/tools/bugpoint/CrashDebugger.cpp b/llvm/tools/bugpoint/CrashDebugger.cpp index a3b274df18c..a5766833b6e 100644 --- a/llvm/tools/bugpoint/CrashDebugger.cpp +++ b/llvm/tools/bugpoint/CrashDebugger.cpp @@ -150,7 +150,7 @@ bool ReduceCrashingGlobalInitializers::TestGlobalVariables( std::vector<GlobalVariable *> &GVs) { // Clone the program to try hacking it apart... ValueToValueMapTy VMap; - std::unique_ptr<Module> M = CloneModule(BD.getProgram(), VMap); + std::unique_ptr<Module> M = CloneModule(*BD.getProgram(), VMap); // Convert list to set for fast lookup... std::set<GlobalVariable *> GVSet; @@ -244,7 +244,7 @@ bool ReduceCrashingFunctions::TestFuncs(std::vector<Function *> &Funcs) { // Clone the program to try hacking it apart... ValueToValueMapTy VMap; - Module *M = CloneModule(BD.getProgram(), VMap).release(); + Module *M = CloneModule(*BD.getProgram(), VMap).release(); // Convert list to set for fast lookup... std::set<Function *> Functions; @@ -388,7 +388,7 @@ public: bool ReduceCrashingBlocks::TestBlocks(std::vector<const BasicBlock *> &BBs) { // Clone the program to try hacking it apart... ValueToValueMapTy VMap; - std::unique_ptr<Module> M = CloneModule(BD.getProgram(), VMap); + std::unique_ptr<Module> M = CloneModule(*BD.getProgram(), VMap); // Convert list to set for fast lookup... SmallPtrSet<BasicBlock *, 8> Blocks; @@ -507,7 +507,7 @@ bool ReduceCrashingConditionals::TestBlocks( std::vector<const BasicBlock *> &BBs) { // Clone the program to try hacking it apart... ValueToValueMapTy VMap; - std::unique_ptr<Module> M = CloneModule(BD.getProgram(), VMap); + std::unique_ptr<Module> M = CloneModule(*BD.getProgram(), VMap); // Convert list to set for fast lookup... SmallPtrSet<const BasicBlock *, 8> Blocks; @@ -611,7 +611,7 @@ public: bool ReduceSimplifyCFG::TestBlocks(std::vector<const BasicBlock *> &BBs) { // Clone the program to try hacking it apart... ValueToValueMapTy VMap; - std::unique_ptr<Module> M = CloneModule(BD.getProgram(), VMap); + std::unique_ptr<Module> M = CloneModule(*BD.getProgram(), VMap); // Convert list to set for fast lookup... SmallPtrSet<const BasicBlock *, 8> Blocks; @@ -703,7 +703,7 @@ bool ReduceCrashingInstructions::TestInsts( std::vector<const Instruction *> &Insts) { // Clone the program to try hacking it apart... ValueToValueMapTy VMap; - Module *M = CloneModule(BD.getProgram(), VMap).release(); + Module *M = CloneModule(*BD.getProgram(), VMap).release(); // Convert list to set for fast lookup... SmallPtrSet<Instruction *, 32> Instructions; @@ -778,7 +778,7 @@ public: bool ReduceCrashingNamedMD::TestNamedMDs(std::vector<std::string> &NamedMDs) { ValueToValueMapTy VMap; - Module *M = CloneModule(BD.getProgram(), VMap).release(); + Module *M = CloneModule(*BD.getProgram(), VMap).release(); outs() << "Checking for crash with only these named metadata nodes:"; unsigned NumPrint = std::min<size_t>(NamedMDs.size(), 10); @@ -858,7 +858,7 @@ bool ReduceCrashingNamedMDOps::TestNamedMDOps( outs() << " named metadata operands: "; ValueToValueMapTy VMap; - Module *M = CloneModule(BD.getProgram(), VMap).release(); + Module *M = CloneModule(*BD.getProgram(), VMap).release(); // This is a little wasteful. In the future it might be good if we could have // these dropped during cloning. @@ -900,7 +900,7 @@ static Error ReduceGlobalInitializers(BugDriver &BD, BugTester TestFn) { // Now try to reduce the number of global variable initializers in the // module to something small. - std::unique_ptr<Module> M = CloneModule(OrigM); + std::unique_ptr<Module> M = CloneModule(*OrigM); bool DeletedInit = false; for (GlobalVariable &GV : M->globals()) { @@ -1120,7 +1120,7 @@ static Error DebugACrash(BugDriver &BD, BugTester TestFn) { // Attempt to strip debug info metadata. auto stripMetadata = [&](std::function<bool(Module &)> strip) { - std::unique_ptr<Module> M = CloneModule(BD.getProgram()); + std::unique_ptr<Module> M = CloneModule(*BD.getProgram()); strip(*M); if (TestFn(BD, M.get())) BD.setNewProgram(M.release()); @@ -1166,7 +1166,7 @@ static Error DebugACrash(BugDriver &BD, BugTester TestFn) { // Try to clean up the testcase by running funcresolve and globaldce... if (!BugpointIsInterrupted) { outs() << "\n*** Attempting to perform final cleanups: "; - std::unique_ptr<Module> M = CloneModule(BD.getProgram()); + std::unique_ptr<Module> M = CloneModule(*BD.getProgram()); M = BD.performFinalCleanups(M.release(), true); // Find out if the pass still crashes on the cleaned up program... diff --git a/llvm/tools/bugpoint/ExtractFunction.cpp b/llvm/tools/bugpoint/ExtractFunction.cpp index a9023573f9d..d010855accb 100644 --- a/llvm/tools/bugpoint/ExtractFunction.cpp +++ b/llvm/tools/bugpoint/ExtractFunction.cpp @@ -85,7 +85,7 @@ std::unique_ptr<Module> BugDriver::deleteInstructionFromProgram(const Instruction *I, unsigned Simplification) { // FIXME, use vmap? - std::unique_ptr<Module> Clone = CloneModule(Program); + std::unique_ptr<Module> Clone = CloneModule(*Program); const BasicBlock *PBB = I->getParent(); const Function *PF = PBB->getParent(); @@ -318,7 +318,7 @@ llvm::SplitFunctionsOutOfModule(Module *M, const std::vector<Function *> &F, } ValueToValueMapTy NewVMap; - std::unique_ptr<Module> New = CloneModule(M, NewVMap); + std::unique_ptr<Module> New = CloneModule(*M, NewVMap); // Remove the Test functions from the Safe module std::set<Function *> TestFunctions; diff --git a/llvm/tools/bugpoint/Miscompilation.cpp b/llvm/tools/bugpoint/Miscompilation.cpp index 80f4cea2348..a6ca65388d2 100644 --- a/llvm/tools/bugpoint/Miscompilation.cpp +++ b/llvm/tools/bugpoint/Miscompilation.cpp @@ -230,8 +230,8 @@ static Expected<std::unique_ptr<Module>> testMergedProgram(const BugDriver &BD, const Module &M2, bool &Broken) { // Resulting merge of M1 and M2. - auto Merged = CloneModule(&M1); - if (Linker::linkModules(*Merged, CloneModule(&M2))) + auto Merged = CloneModule(M1); + if (Linker::linkModules(*Merged, CloneModule(M2))) // TODO: Shouldn't we thread the error up instead of exiting? exit(1); @@ -266,7 +266,7 @@ ReduceMiscompilingFunctions::TestFuncs(const std::vector<Function *> &Funcs) { // we can conclude that a function triggers the bug when in fact one // needs a larger set of original functions to do so. ValueToValueMapTy VMap; - Module *Clone = CloneModule(BD.getProgram(), VMap).release(); + Module *Clone = CloneModule(*BD.getProgram(), VMap).release(); Module *Orig = BD.swapProgramIn(Clone); std::vector<Function *> FuncsOnClone; @@ -277,7 +277,7 @@ ReduceMiscompilingFunctions::TestFuncs(const std::vector<Function *> &Funcs) { // Split the module into the two halves of the program we want. VMap.clear(); - std::unique_ptr<Module> ToNotOptimize = CloneModule(BD.getProgram(), VMap); + std::unique_ptr<Module> ToNotOptimize = CloneModule(*BD.getProgram(), VMap); std::unique_ptr<Module> ToOptimize = SplitFunctionsOutOfModule(ToNotOptimize.get(), FuncsOnClone, VMap); @@ -316,7 +316,7 @@ ExtractLoops(BugDriver &BD, return MadeChange; ValueToValueMapTy VMap; - std::unique_ptr<Module> ToNotOptimize = CloneModule(BD.getProgram(), VMap); + std::unique_ptr<Module> ToNotOptimize = CloneModule(*BD.getProgram(), VMap); Module *ToOptimize = SplitFunctionsOutOfModule(ToNotOptimize.get(), MiscompiledFunctions, VMap) .release(); @@ -377,8 +377,8 @@ ExtractLoops(BugDriver &BD, outs() << " Testing after loop extraction:\n"; // Clone modules, the tester function will free them. std::unique_ptr<Module> TOLEBackup = - CloneModule(ToOptimizeLoopExtracted.get(), VMap); - std::unique_ptr<Module> TNOBackup = CloneModule(ToNotOptimize.get(), VMap); + CloneModule(*ToOptimizeLoopExtracted, VMap); + std::unique_ptr<Module> TNOBackup = CloneModule(*ToNotOptimize, VMap); for (unsigned i = 0, e = MiscompiledFunctions.size(); i != e; ++i) MiscompiledFunctions[i] = cast<Function>(VMap[MiscompiledFunctions[i]]); @@ -508,7 +508,7 @@ ReduceMiscompiledBlocks::TestFuncs(const std::vector<BasicBlock *> &BBs) { // Split the module into the two halves of the program we want. ValueToValueMapTy VMap; - Module *Clone = CloneModule(BD.getProgram(), VMap).release(); + Module *Clone = CloneModule(*BD.getProgram(), VMap).release(); Module *Orig = BD.swapProgramIn(Clone); std::vector<Function *> FuncsOnClone; std::vector<BasicBlock *> BBsOnClone; @@ -522,7 +522,7 @@ ReduceMiscompiledBlocks::TestFuncs(const std::vector<BasicBlock *> &BBs) { } VMap.clear(); - std::unique_ptr<Module> ToNotOptimize = CloneModule(BD.getProgram(), VMap); + std::unique_ptr<Module> ToNotOptimize = CloneModule(*BD.getProgram(), VMap); std::unique_ptr<Module> ToOptimize = SplitFunctionsOutOfModule(ToNotOptimize.get(), FuncsOnClone, VMap); @@ -577,7 +577,7 @@ ExtractBlocks(BugDriver &BD, } ValueToValueMapTy VMap; - Module *ProgClone = CloneModule(BD.getProgram(), VMap).release(); + Module *ProgClone = CloneModule(*BD.getProgram(), VMap).release(); Module *ToExtract = SplitFunctionsOutOfModule(ProgClone, MiscompiledFunctions, VMap) .release(); @@ -770,7 +770,7 @@ Error BugDriver::debugMiscompilation() { // Output a bunch of bitcode files for the user... outs() << "Outputting reduced bitcode files which expose the problem:\n"; ValueToValueMapTy VMap; - Module *ToNotOptimize = CloneModule(getProgram(), VMap).release(); + Module *ToNotOptimize = CloneModule(*getProgram(), VMap).release(); Module *ToOptimize = SplitFunctionsOutOfModule(ToNotOptimize, *MiscompiledFunctions, VMap) .release(); @@ -1037,7 +1037,7 @@ Error BugDriver::debugCodeGenerator() { // Split the module into the two halves of the program we want. ValueToValueMapTy VMap; - std::unique_ptr<Module> ToNotCodeGen = CloneModule(getProgram(), VMap); + std::unique_ptr<Module> ToNotCodeGen = CloneModule(*getProgram(), VMap); std::unique_ptr<Module> ToCodeGen = SplitFunctionsOutOfModule(ToNotCodeGen.get(), *Funcs, VMap); |

