Halide 19.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
10namespace Halide {
11
12struct Target;
13
14namespace Internal {
15
16/** Lower all unsafe promises into either assertions or unchecked
17 code, depending on the target. */
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. */
24
25} // namespace Internal
26} // namespace Halide
27
28#endif
Base classes for Halide expressions (Halide::Expr) and statements (Halide::Internal::Stmt)
Stmt lower_unsafe_promises(const Stmt &s, const Target &t)
Lower all unsafe promises into either assertions or unchecked code, depending on the target.
Stmt lower_safe_promises(const Stmt &s)
Lower all safe promises by just stripping them.
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 reference-counted handle to a statement node.
Definition Expr.h:427
A struct representing a target machine and os to generate code for.
Definition Target.h:19