1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 02:52:53 +02:00

Use std::unique_ptr. NFC.

llvm-svn: 325164
This commit is contained in:
Rafael Espindola 2018-02-14 20:13:01 +00:00
parent 5e64a02538
commit 5786faace5

View File

@ -577,23 +577,19 @@ ExtractBlocks(BugDriver &BD,
}
ValueToValueMapTy VMap;
Module *ProgClone = CloneModule(*BD.getProgram(), VMap).release();
Module *ToExtract =
SplitFunctionsOutOfModule(ProgClone, MiscompiledFunctions, VMap)
.release();
std::unique_ptr<Module> ProgClone = CloneModule(*BD.getProgram(), VMap);
std::unique_ptr<Module> ToExtract =
SplitFunctionsOutOfModule(ProgClone.get(), MiscompiledFunctions, VMap);
std::unique_ptr<Module> Extracted =
BD.extractMappedBlocksFromModule(Blocks, ToExtract);
BD.extractMappedBlocksFromModule(Blocks, ToExtract.get());
if (!Extracted) {
// Weird, extraction should have worked.
errs() << "Nondeterministic problem extracting blocks??\n";
delete ProgClone;
delete ToExtract;
return false;
}
// Otherwise, block extraction succeeded. Link the two program fragments back
// together.
delete ToExtract;
std::vector<std::pair<std::string, FunctionType *>> MisCompFunctions;
for (Module::iterator I = Extracted->begin(), E = Extracted->end(); I != E;
@ -605,7 +601,7 @@ ExtractBlocks(BugDriver &BD,
exit(1);
// Set the new program and delete the old one.
BD.setNewProgram(ProgClone);
BD.setNewProgram(ProgClone.release());
// Update the list of miscompiled functions.
MiscompiledFunctions.clear();