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 #include "Target.h"
10 
11 namespace Halide {
12 namespace Internal {
13 
14 /** Lower all unsafe promises into either assertions or unchecked
15  code, depending on the target. */
16 Stmt lower_unsafe_promises(const Stmt &s, const Target &t);
17 
18 /** Lower all safe promises by just stripping them. This is a good
19  * idea once no more lowering stages are going to use
20  * boxes_touched. */
21 Stmt lower_safe_promises(const Stmt &s);
22 
23 } // namespace Internal
24 } // namespace Halide
25 
26 #endif
Target.h
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: AddAtomicMutex.h:21
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