Halide 22.0.0 Halide compiler and libraries

Loading...
Searching...
No Matches
UnsafePromises.h
Go to the documentation of this file.
1#ifndef HALIDE_UNSAFE_PROMISES_H
2#define HALIDE_UNSAFE_PROMISES_H
3
4/** \file
5 * Defines the lowering pass that removes unsafe promises
6 */
7
8#include "Expr.h"
9
10 namespace Halide {
11
12 struct Target;
13
14 namespace Internal {
15
16/** Lower all unsafe promises into either assertions or unchecked
17 code, depending on the target. */
18 Stmt lower_unsafe_promises(const Stmt &s, const Target &t);
19
20/** Lower all safe promises by just stripping them. This is a good
21 * idea once no more lowering stages are going to use
22 * boxes_touched. */
23 Stmt lower_safe_promises(const Stmt &s);
24
25} // namespace Internal
26} // namespace Halide
27
28#endif
Expr.h
Base classes for Halide expressions (Halide::Expr) and statements (Halide::Internal::Stmt)
Halide::Internal::lower_unsafe_promises
Stmt lower_unsafe_promises(const Stmt &s, const Target &t)
Lower all unsafe promises into either assertions or unchecked code, depending on the target.
Halide::Internal::lower_safe_promises
Stmt lower_safe_promises(const Stmt &s)
Lower all safe promises by just stripping them.
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::cast
Internal::ConstantInterval cast(Type t, const Internal::ConstantInterval &a)
Cast operators for ConstantIntervals.
Halide::Internal::Stmt
A reference-counted handle to a statement node.
Definition Expr.h:427
Halide::Target
A struct representing a target machine and os to generate code for.
Definition Target.h:19