Halide 19.0.0
Halide compiler and libraries
Loading...
Searching...
No Matches
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// @{
21void 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. */
27
28} // namespace Internal
29} // namespace Halide
30
31#endif
Base classes for Halide expressions (Halide::Expr) and statements (Halide::Internal::Stmt)
A reference-counted handle to Halide's internal representation of a function.
Definition Function.h:39
Stmt inline_function(Stmt s, const Function &f)
Inline a single named function, which must be pure.
void validate_schedule_inlined_function(Function f)
Check if the schedule of an inlined function is legal, throwing an error if it is not.
This file defines the class FunctionDAG, which is our representation of a Halide pipeline,...
@ Internal
Not visible externally, similar to 'static' linkage in C.
A fragment of Halide syntax.
Definition Expr.h:258
A reference-counted handle to a statement node.
Definition Expr.h:427