Lines Matching refs:Pass
1 //===- llvm/Pass.h - Base class for Passes ----------------------*- C++ -*-===//
77 /// Pass interface - Implemented by all 'passes'. Subclass this if you are an
81 class Pass {
85 void operator=(const Pass&); // DO NOT IMPLEMENT
86 Pass(const Pass &); // DO NOT IMPLEMENT
89 explicit Pass(PassKind K, char &pid) : Resolver(0), PassID(&pid), Kind(K) { }
90 virtual ~Pass();
116 /// createPrinterPass - Get a Pass appropriate to print the IR this
118 virtual Pass *createPrinterPass(raw_ostream &O,
128 /// Return what kind of Pass Manager can manage this pass.
180 static Pass *createPass(AnalysisID ID);
224 class ModulePass : public Pass {
227 Pass *createPrinterPass(raw_ostream &O, const std::string &Banner) const;
236 /// Return what kind of Pass Manager can manage this pass.
239 explicit ModulePass(char &pid) : Pass(PT_Module, pid) {}
282 class FunctionPass : public Pass {
284 explicit FunctionPass(char &pid) : Pass(PT_Function, pid) {}
287 Pass *createPrinterPass(raw_ostream &O, const std::string &Banner) const;
307 /// Return what kind of Pass Manager can manage this pass.
323 class BasicBlockPass : public Pass {
325 explicit BasicBlockPass(char &pid) : Pass(PT_BasicBlock, pid) {}
328 Pass *createPrinterPass(raw_ostream &O, const std::string &Banner) const;
358 /// Return what kind of Pass Manager can manage this pass.