Halide
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 
10 namespace Halide {
11 namespace Internal {
12 
13 class 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
Halide::Internal::ArgInfoKind::Function
@ Function
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.
Expr.h
Halide::Internal::inline_function
Stmt inline_function(Stmt s, const Function &f)
Inline a single named function, which must be pure.