diff options
author | Chandler Carruth <chandlerc@gmail.com> | 2014-01-12 11:30:46 +0000 |
---|---|---|
committer | Chandler Carruth <chandlerc@gmail.com> | 2014-01-12 11:30:46 +0000 |
commit | 9d805139bdf016787c4d66619b17a2fff2c5392c (patch) | |
tree | 22e3dadb68961cff98013382789a4c3549d797a8 /llvm/lib | |
parent | 3dd261d0c94d949b75e82cd581a0b5cd50aee9b6 (diff) | |
download | bcm5719-llvm-9d805139bdf016787c4d66619b17a2fff2c5392c.tar.gz bcm5719-llvm-9d805139bdf016787c4d66619b17a2fff2c5392c.zip |
[PM] Simplify the interface exposed for IR printing passes.
Nothing was using the ability of the pass to delete the raw_ostream it
printed to, and nothing was trying to pass it a pointer to the
raw_ostream. Also, the function variant had a different order of
arguments from all of the others which was just really confusing. Now
the interface accepts a reference, doesn't offer to delete it, and uses
a consistent order. The implementation of the printing passes haven't
been updated with this simplification, this is just the API switch.
llvm-svn: 199044
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/CodeGen/LLVMTargetMachine.cpp | 2 | ||||
-rw-r--r-- | llvm/lib/CodeGen/Passes.cpp | 7 | ||||
-rw-r--r-- | llvm/lib/IR/IRPrintingPasses.cpp | 17 | ||||
-rw-r--r-- | llvm/lib/IR/LegacyPassManager.cpp | 6 | ||||
-rw-r--r-- | llvm/lib/IR/Pass.cpp | 6 |
5 files changed, 17 insertions, 21 deletions
diff --git a/llvm/lib/CodeGen/LLVMTargetMachine.cpp b/llvm/lib/CodeGen/LLVMTargetMachine.cpp index be90d5d4bd5..9a7697e5378 100644 --- a/llvm/lib/CodeGen/LLVMTargetMachine.cpp +++ b/llvm/lib/CodeGen/LLVMTargetMachine.cpp @@ -154,7 +154,7 @@ bool LLVMTargetMachine::addPassesToEmitFile(PassManagerBase &PM, // machine-level pass), and whatever other information is needed to // deserialize the code and resume compilation. For now, just write the // LLVM IR. - PM.add(createPrintModulePass(&Out)); + PM.add(createPrintModulePass(Out)); return false; } diff --git a/llvm/lib/CodeGen/Passes.cpp b/llvm/lib/CodeGen/Passes.cpp index dd9cb55b337..1ad9b73f41f 100644 --- a/llvm/lib/CodeGen/Passes.cpp +++ b/llvm/lib/CodeGen/Passes.cpp @@ -389,7 +389,7 @@ void TargetPassConfig::addIRPasses() { if (getOptLevel() != CodeGenOpt::None && !DisableLSR) { addPass(createLoopStrengthReducePass()); if (PrintLSR) - addPass(createPrintFunctionPass("\n\n*** Code after LSR ***\n", &dbgs())); + addPass(createPrintFunctionPass(dbgs(), "\n\n*** Code after LSR ***\n")); } addPass(createGCLoweringPass()); @@ -440,9 +440,8 @@ void TargetPassConfig::addISelPrepare() { addPass(createStackProtectorPass(TM)); if (PrintISelInput) - addPass(createPrintFunctionPass("\n\n" - "*** Final LLVM Code input to ISel ***\n", - &dbgs())); + addPass(createPrintFunctionPass( + dbgs(), "\n\n*** Final LLVM Code input to ISel ***\n")); // All passes which modify the LLVM IR are now complete; run the verifier // to ensure that the IR is valid. diff --git a/llvm/lib/IR/IRPrintingPasses.cpp b/llvm/lib/IR/IRPrintingPasses.cpp index 4398a9cfd2a..242dcff795b 100644 --- a/llvm/lib/IR/IRPrintingPasses.cpp +++ b/llvm/lib/IR/IRPrintingPasses.cpp @@ -113,20 +113,17 @@ char PrintBasicBlockPass::ID = 0; INITIALIZE_PASS(PrintBasicBlockPass, "print-bb", "Print BB to stderr", false, false) -ModulePass *llvm::createPrintModulePass(llvm::raw_ostream *OS, - bool DeleteStream, +ModulePass *llvm::createPrintModulePass(llvm::raw_ostream &OS, const std::string &Banner) { - return new PrintModulePass(Banner, OS, DeleteStream); + return new PrintModulePass(Banner, &OS, false); } -FunctionPass *llvm::createPrintFunctionPass(const std::string &Banner, - llvm::raw_ostream *OS, - bool DeleteStream) { - return new PrintFunctionPass(Banner, OS, DeleteStream); +FunctionPass *llvm::createPrintFunctionPass(llvm::raw_ostream &OS, + const std::string &Banner) { + return new PrintFunctionPass(Banner, &OS, false); } -BasicBlockPass *llvm::createPrintBasicBlockPass(llvm::raw_ostream *OS, - bool DeleteStream, +BasicBlockPass *llvm::createPrintBasicBlockPass(llvm::raw_ostream &OS, const std::string &Banner) { - return new PrintBasicBlockPass(Banner, OS, DeleteStream); + return new PrintBasicBlockPass(Banner, &OS, false); } diff --git a/llvm/lib/IR/LegacyPassManager.cpp b/llvm/lib/IR/LegacyPassManager.cpp index ae94f05dcf4..f9fca321fac 100644 --- a/llvm/lib/IR/LegacyPassManager.cpp +++ b/llvm/lib/IR/LegacyPassManager.cpp @@ -235,7 +235,7 @@ public: /// createPrinterPass - Get a function printer pass. Pass *createPrinterPass(raw_ostream &O, const std::string &Banner) const { - return createPrintFunctionPass(Banner, &O); + return createPrintFunctionPass(O, Banner); } // Prepare for running an on the fly pass, freeing memory if needed @@ -304,7 +304,7 @@ public: /// createPrinterPass - Get a module printer pass. Pass *createPrinterPass(raw_ostream &O, const std::string &Banner) const { - return createPrintModulePass(&O, false, Banner); + return createPrintModulePass(O, Banner); } /// run - Execute all of the passes scheduled for execution. Keep track of @@ -404,7 +404,7 @@ public: /// createPrinterPass - Get a module printer pass. Pass *createPrinterPass(raw_ostream &O, const std::string &Banner) const { - return createPrintModulePass(&O, false, Banner); + return createPrintModulePass(O, Banner); } /// run - Execute all of the passes scheduled for execution. Keep track of diff --git a/llvm/lib/IR/Pass.cpp b/llvm/lib/IR/Pass.cpp index dc8eee53381..3782e2d7be5 100644 --- a/llvm/lib/IR/Pass.cpp +++ b/llvm/lib/IR/Pass.cpp @@ -35,7 +35,7 @@ ModulePass::~ModulePass() { } Pass *ModulePass::createPrinterPass(raw_ostream &O, const std::string &Banner) const { - return createPrintModulePass(&O, false, Banner); + return createPrintModulePass(O, Banner); } PassManagerType ModulePass::getPotentialPassManagerType() const { @@ -130,7 +130,7 @@ void ImmutablePass::initializePass() { Pass *FunctionPass::createPrinterPass(raw_ostream &O, const std::string &Banner) const { - return createPrintFunctionPass(Banner, &O); + return createPrintFunctionPass(O, Banner); } PassManagerType FunctionPass::getPotentialPassManagerType() const { @@ -143,7 +143,7 @@ PassManagerType FunctionPass::getPotentialPassManagerType() const { Pass *BasicBlockPass::createPrinterPass(raw_ostream &O, const std::string &Banner) const { - return createPrintBasicBlockPass(&O, false, Banner); + return createPrintBasicBlockPass(O, Banner); } bool BasicBlockPass::doInitialization(Function &) { |