diff options
Diffstat (limited to 'contrib/llvm/tools/bugpoint/ExtractFunction.cpp')
-rw-r--r-- | contrib/llvm/tools/bugpoint/ExtractFunction.cpp | 33 |
1 files changed, 17 insertions, 16 deletions
diff --git a/contrib/llvm/tools/bugpoint/ExtractFunction.cpp b/contrib/llvm/tools/bugpoint/ExtractFunction.cpp index 2098928..4fb6856 100644 --- a/contrib/llvm/tools/bugpoint/ExtractFunction.cpp +++ b/contrib/llvm/tools/bugpoint/ExtractFunction.cpp @@ -13,13 +13,12 @@ //===----------------------------------------------------------------------===// #include "BugDriver.h" -#include "llvm/Analysis/Verifier.h" -#include "llvm/Assembly/Writer.h" #include "llvm/IR/Constants.h" #include "llvm/IR/DataLayout.h" #include "llvm/IR/DerivedTypes.h" #include "llvm/IR/LLVMContext.h" #include "llvm/IR/Module.h" +#include "llvm/IR/Verifier.h" #include "llvm/Pass.h" #include "llvm/PassManager.h" #include "llvm/Support/CommandLine.h" @@ -35,6 +34,8 @@ #include <set> using namespace llvm; +#define DEBUG_TYPE "bugpoint" + namespace llvm { bool DisableSimplifyCFG = false; extern cl::opt<std::string> OutputPrefix; @@ -50,7 +51,7 @@ namespace { Function* globalInitUsesExternalBA(GlobalVariable* GV) { if (!GV->hasInitializer()) - return 0; + return nullptr; Constant *I = GV->getInitializer(); @@ -77,7 +78,7 @@ namespace { Todo.push_back(C); } } - return 0; + return nullptr; } } // end anonymous namespace @@ -149,7 +150,7 @@ Module *BugDriver::performFinalCleanups(Module *M, bool MayModifySemantics) { CleanupPasses.push_back("deadargelim"); Module *New = runPassesOn(M, CleanupPasses); - if (New == 0) { + if (!New) { errs() << "Final cleanups failed. Sorry. :( Please report a bug!\n"; return M; } @@ -166,11 +167,11 @@ Module *BugDriver::ExtractLoop(Module *M) { LoopExtractPasses.push_back("loop-extract-single"); Module *NewM = runPassesOn(M, LoopExtractPasses); - if (NewM == 0) { + if (!NewM) { outs() << "*** Loop extraction failed: "; EmitProgressBitcode(M, "loopextraction", true); outs() << "*** Sorry. :( Please report a bug!\n"; - return 0; + return nullptr; } // Check to see if we created any new functions. If not, no loops were @@ -179,7 +180,7 @@ Module *BugDriver::ExtractLoop(Module *M) { static unsigned NumExtracted = 32; if (M->size() == NewM->size() || --NumExtracted == 0) { delete NewM; - return 0; + return nullptr; } else { assert(M->size() < NewM->size() && "Loop extract removed functions?"); Module::iterator MI = NewM->begin(); @@ -309,7 +310,7 @@ llvm::SplitFunctionsOutOfModule(Module *M, for (unsigned i = 0, e = F.size(); i != e; ++i) { Function *TNOF = cast<Function>(VMap[F[i]]); DEBUG(errs() << "Removing function "); - DEBUG(WriteAsOperand(errs(), TNOF, false)); + DEBUG(TNOF->printAsOperand(errs(), false)); DEBUG(errs() << "\n"); TestFunctions.insert(cast<Function>(NewVMap[TNOF])); DeleteFunctionBody(TNOF); // Function is now external in this module! @@ -330,16 +331,16 @@ llvm::SplitFunctionsOutOfModule(Module *M, if (Function *SafeFn = globalInitUsesExternalBA(GV)) { errs() << "*** Error: when reducing functions, encountered " "the global '"; - WriteAsOperand(errs(), GV, false); + GV->printAsOperand(errs(), false); errs() << "' with an initializer that references blockaddresses " "from safe function '" << SafeFn->getName() << "' and from test function '" << TestFn->getName() << "'.\n"; exit(1); } - I->setInitializer(0); // Delete the initializer to make it external + I->setInitializer(nullptr); // Delete the initializer to make it external } else { // If we keep it in the safe module, then delete it in the test module - GV->setInitializer(0); + GV->setInitializer(nullptr); } } @@ -365,13 +366,13 @@ Module *BugDriver::ExtractMappedBlocksFromModule(const Module *M) { SmallString<128> Filename; int FD; - error_code EC = sys::fs::createUniqueFile( + std::error_code EC = sys::fs::createUniqueFile( OutputPrefix + "-extractblocks%%%%%%%", FD, Filename); if (EC) { outs() << "*** Basic Block extraction failed!\n"; errs() << "Error creating temporary file: " << EC.message() << "\n"; EmitProgressBitcode(M, "basicblockextractfail", true); - return 0; + return nullptr; } sys::RemoveFileOnSignal(Filename); @@ -390,7 +391,7 @@ Module *BugDriver::ExtractMappedBlocksFromModule(const errs() << "Error writing list of blocks to not extract\n"; EmitProgressBitcode(M, "basicblockextractfail", true); BlocksToNotExtractFile.os().clear_error(); - return 0; + return nullptr; } BlocksToNotExtractFile.keep(); @@ -404,7 +405,7 @@ Module *BugDriver::ExtractMappedBlocksFromModule(const sys::fs::remove(Filename.c_str()); - if (Ret == 0) { + if (!Ret) { outs() << "*** Basic Block extraction failed, please report a bug!\n"; EmitProgressBitcode(M, "basicblockextractfail", true); } |