Loading...
Searching...
No Matches
Inline.h
Go to the documentation of this file.
#ifndef HALIDE_INLINE_H
#define HALIDE_INLINE_H
/** \file
* Methods for replacing calls to functions with their definitions.
*/
#include "Expr.h"
namespace Halide {
namespace Internal {
class Function;
/** Inline a single named function, which must be pure. For a pure function to
* be inlined, it must not have any specializations (i.e. it can only have one
* values definition). */
// @{
Stmt inline_function(Stmt s, const Function &f);
Expr inline_function(Expr e, const Function &f);
void inline_function(Function caller, const Function &f);
// @}
/** Check if the schedule of an inlined function is legal, throwing an error
* if it is not. */
void validate_schedule_inlined_function(Function f);
} // namespace Internal
} // namespace Halide
#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
Definition AbstractGenerator.h:24
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::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