diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2018-02-14 19:50:40 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2018-02-14 19:50:40 +0000 |
commit | 71867532187d45df623b7e4658be7bea06ee3f3e (patch) | |
tree | 121bb6657e585c031247f07a939b11e7c0c0c970 /llvm/tools/bugpoint/Miscompilation.cpp | |
parent | 76064a4b1e7fd1d53cdef12300cb21ceccad3e48 (diff) | |
download | bcm5719-llvm-71867532187d45df623b7e4658be7bea06ee3f3e.tar.gz bcm5719-llvm-71867532187d45df623b7e4658be7bea06ee3f3e.zip |
Pass a module reference to CloneModule.
It can never be null and most callers were already using references or
std::unique_ptr.
llvm-svn: 325160
Diffstat (limited to 'llvm/tools/bugpoint/Miscompilation.cpp')
-rw-r--r-- | llvm/tools/bugpoint/Miscompilation.cpp | 24 |
1 files changed, 12 insertions, 12 deletions
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); |