Halide
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
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::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.
Expr.h