#include "llvm/IR/IRPrintingPasses.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/Module.h"
#include "llvm/IR/PrintPasses.h"
#include "llvm/InitializePasses.h"
#include "llvm/Pass.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h"
usingnamespacellvm;
cl::opt<bool> WriteNewDbgInfoFormat(
"write-experimental-debuginfo",
cl::desc("Write debug info in the new non-intrinsic format. Has no effect "
"if --preserve-input-debuginfo-format=true."),
cl::init(true));
namespace {
class PrintModulePassWrapper : public ModulePass { … };
class PrintFunctionPassWrapper : public FunctionPass { … };
}
char PrintModulePassWrapper::ID = …;
INITIALIZE_PASS(…)
char PrintFunctionPassWrapper::ID = …;
INITIALIZE_PASS(…)
ModulePass *llvm::createPrintModulePass(llvm::raw_ostream &OS,
const std::string &Banner,
bool ShouldPreserveUseListOrder) { … }
FunctionPass *llvm::createPrintFunctionPass(llvm::raw_ostream &OS,
const std::string &Banner) { … }
bool llvm::isIRPrintingPass(Pass *P) { … }