diff options
author | dim <dim@FreeBSD.org> | 2014-11-24 09:08:18 +0000 |
---|---|---|
committer | dim <dim@FreeBSD.org> | 2014-11-24 09:08:18 +0000 |
commit | e27feadae0885aa074df58ebfda2e7a7f7a7d590 (patch) | |
tree | f5944309621cee4fe0976be6f9ac619b7ebfc4c2 /lib/IR/PrintModulePass.cpp | |
parent | 87ba4fbed530c9d0dff7505d121035f5ed09c9f3 (diff) | |
download | FreeBSD-src-e27feadae0885aa074df58ebfda2e7a7f7a7d590.zip FreeBSD-src-e27feadae0885aa074df58ebfda2e7a7f7a7d590.tar.gz |
Vendor import of llvm RELEASE_350/final tag r216957 (effectively, 3.5.0 release):
https://llvm.org/svn/llvm-project/llvm/tags/RELEASE_350/final@216957
Diffstat (limited to 'lib/IR/PrintModulePass.cpp')
-rw-r--r-- | lib/IR/PrintModulePass.cpp | 136 |
1 files changed, 0 insertions, 136 deletions
diff --git a/lib/IR/PrintModulePass.cpp b/lib/IR/PrintModulePass.cpp deleted file mode 100644 index 5026bc2..0000000 --- a/lib/IR/PrintModulePass.cpp +++ /dev/null @@ -1,136 +0,0 @@ -//===--- IR/PrintModulePass.cpp - Module/Function Printer -----------------===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// -// -// PrintModulePass and PrintFunctionPass implementations. -// -//===----------------------------------------------------------------------===// - -#include "llvm/Assembly/PrintModulePass.h" -#include "llvm/IR/Function.h" -#include "llvm/IR/Module.h" -#include "llvm/Pass.h" -#include "llvm/Support/Debug.h" -#include "llvm/Support/raw_ostream.h" -using namespace llvm; - -namespace { - - class PrintModulePass : public ModulePass { - std::string Banner; - raw_ostream *Out; // raw_ostream to print on - bool DeleteStream; // Delete the ostream in our dtor? - public: - static char ID; - PrintModulePass() : ModulePass(ID), Out(&dbgs()), - DeleteStream(false) {} - PrintModulePass(const std::string &B, raw_ostream *o, bool DS) - : ModulePass(ID), Banner(B), Out(o), DeleteStream(DS) {} - - ~PrintModulePass() { - if (DeleteStream) delete Out; - } - - bool runOnModule(Module &M) { - (*Out) << Banner << M; - return false; - } - - virtual void getAnalysisUsage(AnalysisUsage &AU) const { - AU.setPreservesAll(); - } - }; - - class PrintFunctionPass : public FunctionPass { - std::string Banner; // String to print before each function - raw_ostream *Out; // raw_ostream to print on - bool DeleteStream; // Delete the ostream in our dtor? - public: - static char ID; - PrintFunctionPass() : FunctionPass(ID), Banner(""), Out(&dbgs()), - DeleteStream(false) {} - PrintFunctionPass(const std::string &B, raw_ostream *o, bool DS) - : FunctionPass(ID), Banner(B), Out(o), DeleteStream(DS) {} - - ~PrintFunctionPass() { - if (DeleteStream) delete Out; - } - - // runOnFunction - This pass just prints a banner followed by the - // function as it's processed. - // - bool runOnFunction(Function &F) { - (*Out) << Banner << static_cast<Value&>(F); - return false; - } - - virtual void getAnalysisUsage(AnalysisUsage &AU) const { - AU.setPreservesAll(); - } - }; - - class PrintBasicBlockPass : public BasicBlockPass { - std::string Banner; - raw_ostream *Out; // raw_ostream to print on - bool DeleteStream; // Delete the ostream in our dtor? - public: - static char ID; - PrintBasicBlockPass() : BasicBlockPass(ID), Out(&dbgs()), - DeleteStream(false) {} - PrintBasicBlockPass(const std::string &B, raw_ostream *o, bool DS) - : BasicBlockPass(ID), Banner(B), Out(o), DeleteStream(DS) {} - - ~PrintBasicBlockPass() { - if (DeleteStream) delete Out; - } - - bool runOnBasicBlock(BasicBlock &BB) { - (*Out) << Banner << BB; - return false; - } - - virtual void getAnalysisUsage(AnalysisUsage &AU) const { - AU.setPreservesAll(); - } - }; -} - -char PrintModulePass::ID = 0; -INITIALIZE_PASS(PrintModulePass, "print-module", - "Print module to stderr", false, false) -char PrintFunctionPass::ID = 0; -INITIALIZE_PASS(PrintFunctionPass, "print-function", - "Print function to stderr", false, false) -char PrintBasicBlockPass::ID = 0; -INITIALIZE_PASS(PrintBasicBlockPass, "print-bb", - "Print BB to stderr", false, false) - -/// createPrintModulePass - Create and return a pass that writes the -/// module to the specified raw_ostream. -ModulePass *llvm::createPrintModulePass(llvm::raw_ostream *OS, - bool DeleteStream, - const std::string &Banner) { - return new PrintModulePass(Banner, OS, DeleteStream); -} - -/// createPrintFunctionPass - Create and return a pass that prints -/// functions to the specified raw_ostream as they are processed. -FunctionPass *llvm::createPrintFunctionPass(const std::string &Banner, - llvm::raw_ostream *OS, - bool DeleteStream) { - return new PrintFunctionPass(Banner, OS, DeleteStream); -} - -/// createPrintBasicBlockPass - Create and return a pass that writes the -/// BB to the specified raw_ostream. -BasicBlockPass *llvm::createPrintBasicBlockPass(llvm::raw_ostream *OS, - bool DeleteStream, - const std::string &Banner) { - return new PrintBasicBlockPass(Banner, OS, DeleteStream); -} - |