1 #ifndef HALIDE_INTERNAL_LOWER_H 2 #define HALIDE_INTERNAL_LOWER_H 32 Module
lower(
const std::vector<Function> &output_funcs,
33 const std::string &pipeline_name,
35 const std::vector<Argument> &args,
37 const std::vector<Stmt> &requirements = std::vector<Stmt>(),
38 bool trace_pipeline =
false,
39 const std::vector<IRMutator *> &custom_passes = std::vector<IRMutator *>());
47 const std::string &pipeline_name,
49 const std::vector<Stmt> &requirements = std::vector<Stmt>(),
50 bool trace_pipeline =
false,
51 const std::vector<IRMutator *> &custom_passes = std::vector<IRMutator *>());
Defines Module, an IR container that fully describes a Halide program.
This file defines the class FunctionDAG, which is our representation of a Halide pipeline, and contains methods to using Halide's bounds tools to query properties of it.
Base classes for Halide expressions (Halide::Expr) and statements (Halide::Internal::Stmt) ...
LinkageType
Type of linkage a function in a lowered Halide module can have.
Not visible externally, similar to 'static' linkage in C.
Module lower(const std::vector< Function > &output_funcs, const std::string &pipeline_name, const Target &t, const std::vector< Argument > &args, LinkageType linkage_type, const std::vector< Stmt > &requirements=std::vector< Stmt >(), bool trace_pipeline=false, const std::vector< IRMutator *> &custom_passes=std::vector< IRMutator *>())
Given a vector of scheduled halide functions, create a Module that evaluates it.
Defines a type used for expressing the type signature of a generated halide pipeline.
Stmt lower_main_stmt(const std::vector< Function > &output_funcs, const std::string &pipeline_name, const Target &t, const std::vector< Stmt > &requirements=std::vector< Stmt >(), bool trace_pipeline=false, const std::vector< IRMutator *> &custom_passes=std::vector< IRMutator *>())
Given a halide function with a schedule, create a statement that evaluates it.