Loading...
Searching...
No Matches
UnsafePromises.h
Go to the documentation of this file.
#ifndef HALIDE_UNSAFE_PROMISES_H
#define HALIDE_UNSAFE_PROMISES_H
/** \file
* Defines the lowering pass that removes unsafe promises
*/
#include "Expr.h"
namespace Halide {
struct Target;
namespace Internal {
/** Lower all unsafe promises into either assertions or unchecked
code, depending on the target. */
Stmt lower_unsafe_promises(const Stmt &s, const Target &t);
/** Lower all safe promises by just stripping them. This is a good
* idea once no more lowering stages are going to use
* boxes_touched. */
Stmt lower_safe_promises(const Stmt &s);
} // namespace Internal
} // namespace Halide
#endif
Expr.h
Base classes for Halide expressions (Halide::Expr) and statements (Halide::Internal::Stmt).
Halide::Internal
Definition AbstractGenerator.h:24
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::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