Halide 22.0.0 Halide compiler and libraries

Classes | Namespaces | Typedefs | Enumerations | Functions
Module.h File Reference

Defines Module, an IR container that fully describes a Halide program. More...

`#include <functional>`
`#include <map>`
`#include <memory>`
`#include <string>`
`#include "Argument.h"`
`#include "Expr.h"`
`#include "Function.h"`
`#include "ModulusRemainder.h"`

Go to the source code of this file.

## Classes
struct | Halide::Internal::OutputInfo
struct | Halide::Internal::LoweredArgument
| Definition of an argument to a LoweredFunc. More...
struct | Halide::Internal::LoweredFunc
| Definition of a lowered function. More...
class | Halide::Module
| A halide module. More...

## Namespaces
namespace | Halide
| 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.
namespace | Halide::Internal

## Typedefs
using | Halide::MetadataNameMap = std::map< std::string, std::string >
using | Halide::ModuleFactory = std::function< Module(const std::string &fn_name, const Target &target)>
using | Halide::CompilerLoggerFactory = std::function< std::unique_ptr< Internal::CompilerLogger >(const std::string &fn_name, const Target &target)>

## Enumerations
enum class | Halide::OutputFileType { Halide::assembly , Halide::bitcode , Halide::c_header , Halide::c_source , Halide::compiler_log , Halide::cpp_stub , Halide::featurization , Halide::function_info_header , Halide::hlpipe , Halide::llvm_assembly , Halide::object , Halide::python_extension , Halide::pytorch_wrapper , Halide::registration , Halide::schedule , Halide::static_library , Halide::stmt , Halide::conceptual_stmt , Halide::stmt_html , Halide::conceptual_stmt_html , Halide::device_code }
| Enums specifying various kinds of outputs that can be produced from a Halide Pipeline. More...
enum class | Halide::LinkageType { Halide::External , Halide::ExternalPlusMetadata , Halide::ExternalPlusArgv , Halide::Internal }
| Type of linkage a function in a lowered Halide module can have. More...

## Functions
std::map< OutputFileType, const OutputInfo > | Halide::Internal::get_output_info (const Target &target)
Module | Halide::link_modules (const std::string &name, const std::vector< Module > &modules)
| Link a set of modules together into one module. More...
void | Halide::compile_standalone_runtime (const std::string &object_filename, const Target &t)
| Create an object file containing the Halide runtime for a given target. More...
std::map< OutputFileType, std::string > | Halide::compile_standalone_runtime (const std::map< OutputFileType, std::string > &output_files, const Target &t)
| Create an object and/or static library file containing the Halide runtime for a given target. More...
void | Halide::compile_multitarget (const std::string &fn_name, const std::map< OutputFileType, std::string > &output_files, const std::vector< Target > &targets, const std::vector< std::string > &suffixes, const ModuleFactory &module_factory, const CompilerLoggerFactory &compiler_logger_factory=nullptr)

## Detailed Description

Defines Module, an IR container that fully describes a Halide program.

Definition in file Module.h.