1#ifndef HALIDE_INTERNAL_LOWER_H
2#define HALIDE_INTERNAL_LOWER_H
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 a type used for expressing the type signature of a generated halide pipeline.
Base classes for Halide expressions (Halide::Expr) and statements (Halide::Internal::Stmt)
Defines Module, an IR container that fully describes a Halide program.
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.
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.
This file defines the class FunctionDAG, which is our representation of a Halide pipeline,...
LinkageType
Type of linkage a function in a lowered Halide module can have.
@ Internal
Not visible externally, similar to 'static' linkage in C.
A reference-counted handle to a statement node.
A struct representing a target machine and os to generate code for.