Halide 22.0.0 Halide compiler and libraries

Inline.h
Go to the documentation of this file.
1#ifndef HALIDE_INLINE_H
2#define HALIDE_INLINE_H
3
4/** \file
5 * Methods for replacing calls to functions with their definitions.
6 */
7
8#include "Expr.h"
9
10namespace Halide {
11namespace Internal {
12
13class Function;
14
15/** Inline a single named function, which must be pure. For a pure function to
16 * be inlined, it must not have any specializations (i.e. it can only have one
17 * values definition). */
18// @{
19 Stmt inline_function(Stmt s, const Function &f);
20 Expr inline_function(Expr e, const Function &f);
21 void inline_function(Function caller, const Function &f);
22// @}
23
24/** Check if the schedule of an inlined function is legal, throwing an error
25 * if it is not. */
26 void validate_schedule_inlined_function(Function f);
27
28} // namespace Internal
29} // namespace Halide
30
31#endif
Expr.h
Base classes for Halide expressions (Halide::Expr) and statements (Halide::Internal::Stmt)
Halide::Internal::Function
A reference-counted handle to Halide's internal representation of a function.
Definition: Function.h:39
Halide::Internal::ArgInfoKind::Function
@ Function
Halide::Internal::inline_function
Stmt inline_function(Stmt s, const Function &f)
Inline a single named function, which must be pure.
Halide::Internal::validate_schedule_inlined_function
void validate_schedule_inlined_function(Function f)
Check if the schedule of an inlined function is legal, throwing an error if it is not.
Halide
This file defines the class FunctionDAG, which is our representation of a Halide pipeline,...
Definition: AbstractGenerator.h:19
Halide::LinkageType::Internal
@ Internal
Not visible externally, similar to 'static' linkage in C.
Halide::Expr
A fragment of Halide syntax.
Definition: Expr.h:258
Halide::Internal::Stmt
A reference-counted handle to a statement node.
Definition: Expr.h:427