20 virtual std::string
name() = 0;
23 virtual std::vector<OptionSpec>
options() {
42 return options_->
get(key, fallback);
60 std::string
name()
override {
67 if constexpr (
requires { T(
builder, analysis_manager, *this->options_); }) {
T get(const OptionKey< T > &key, T fallback=T{}) const
Definition options.h:72
static const Options & empty()
Definition options.h:84
Definition sdfg_builder.h:13
Note: Even though the class references unique_ptr, it will never delete an SDFG it has a reference to...
Definition structured_sdfg_builder.h:44
virtual void invalidates(analysis::AnalysisManager &analysis_manager, bool applied)
bool run(builder::StructuredSDFGBuilder &builder, analysis::AnalysisManager &analysis_manager, bool create_report=false)
Pass(const Options &options)
Definition pass.h:15
virtual std::vector< OptionSpec > options()
Definition pass.h:23
T option(const OptionKey< T > &key, T fallback=T{}) const
Definition pass.h:41
virtual bool run_pass(builder::StructuredSDFGBuilder &builder, analysis::AnalysisManager &analysis_manager)
friend class VisitorPass
Definition pass.h:48
virtual bool run_pass(builder::SDFGBuilder &builder)
virtual std::string name()=0
bool run(builder::SDFGBuilder &builder, bool create_report=false)
std::string name() override
Definition pass.h:60
VisitorPass(const Options &options=Options::empty())
Definition pass.h:57
bool run_pass(builder::StructuredSDFGBuilder &builder, analysis::AnalysisManager &analysis_manager) override
Definition pass.h:64
Definition function_builder.h:10
Definition approximate_math.h:12
Definition control_flow_node.h:16