Halide 19.0.0
Halide compiler and libraries
Loading...
Searching...
No Matches
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 OutputInfoHalide::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.
 
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.
 
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.
 
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.