LLVM 22.0.0git
|
Base class. More...
#include "llvm/SandboxIR/PassManager.h"
Public Types | |
using | CreatePassFunc |
Public Member Functions | |
void | addPass (std::unique_ptr< ContainedPass > Pass) |
Adds Pass to the pass pipeline. | |
void | setPassPipeline (StringRef Pipeline, CreatePassFunc CreatePass) |
Parses Pipeline as a comma-separated sequence of pass names and sets the pass pipeline, using CreatePass to instantiate passes by name. | |
void | print (raw_ostream &OS) const override |
LLVM_DUMP_METHOD void | dump () const override |
void | printPipeline (raw_ostream &OS) const override |
Similar to print() but prints one pass per line. Used for testing. |
Static Public Attributes | |
static constexpr const char | EndToken = '\0' |
static constexpr const char | BeginArgsToken = '<' |
static constexpr const char | EndArgsToken = '>' |
static constexpr const char | PassDelimToken = ',' |
Protected Member Functions | |
PassManager (StringRef Name) | |
PassManager (StringRef Name, StringRef Pipeline, CreatePassFunc CreatePass) | |
PassManager (const PassManager &)=delete | |
PassManager (PassManager &&)=default | |
virtual | ~PassManager ()=default |
PassManager & | operator= (const PassManager &)=delete |
Protected Attributes | |
SmallVector< std::unique_ptr< ContainedPass > > | Passes |
The list of passes that this pass manager will run. |
Base class.
Definition at line 35 of file PassManager.h.
using llvm::sandboxir::PassManager< ParentPass, ContainedPass >::CreatePassFunc |
Definition at line 38 of file PassManager.h.
|
inlineprotected |
Definition at line 45 of file PassManager.h.
Referenced by operator=(), PassManager(), and PassManager().
|
inlineprotected |
Definition at line 46 of file PassManager.h.
References setPassPipeline().
|
protecteddelete |
References PassManager().
|
protecteddefault |
References PassManager().
|
protectedvirtualdefault |
|
inline |
Adds Pass
to the pass pipeline.
Definition at line 57 of file PassManager.h.
References Passes.
Referenced by setPassPipeline().
|
inlineoverride |
Definition at line 192 of file PassManager.h.
References llvm::dbgs(), LLVM_DUMP_METHOD, and print().
|
protecteddelete |
References PassManager().
|
inlineoverride |
Definition at line 185 of file PassManager.h.
References BeginArgsToken, EndArgsToken, getName(), llvm::interleave(), PassDelimToken, Passes, and llvm::sandboxir::Pass::print().
Referenced by dump().
|
inlineoverride |
Similar to print() but prints one pass per line. Used for testing.
Definition at line 198 of file PassManager.h.
|
inline |
Parses Pipeline
as a comma-separated sequence of pass names and sets the pass pipeline, using CreatePass
to instantiate passes by name.
Passes can have arguments, for example: "pass1<arg1,arg2>,pass2,pass3<arg3,arg4>"
The arguments between angle brackets are treated as a mostly opaque string and each pass is responsible for parsing its arguments. The exception to this are nested angle brackets, which must match pair-wise to allow arguments to contain nested pipelines, like:
"pass1<subpass1,subpass2<arg1,arg2>,subpass3>"
An empty args string is treated the same as no args, so "pass" and "pass<>" are equivalent.
Definition at line 82 of file PassManager.h.
References addPass(), assert(), BeginArgsToken, llvm::CallingConv::C, llvm::StringRef::empty(), EndArgsToken, EndToken, llvm::enumerate(), llvm::errs(), PassDelimToken, Passes, PassName, and llvm::StringRef::slice().
Referenced by PassManager().
|
staticconstexpr |
Definition at line 63 of file PassManager.h.
Referenced by print(), and setPassPipeline().
|
staticconstexpr |
Definition at line 64 of file PassManager.h.
Referenced by print(), and setPassPipeline().
|
staticconstexpr |
Definition at line 62 of file PassManager.h.
Referenced by setPassPipeline().
|
staticconstexpr |
Definition at line 65 of file PassManager.h.
Referenced by print(), and setPassPipeline().
|
protected |
The list of passes that this pass manager will run.
Definition at line 43 of file PassManager.h.
Referenced by addPass(), print(), printPipeline(), and setPassPipeline().