Halide  17.0.2
Halide compiler and libraries
BoundSmallAllocations.h
Go to the documentation of this file.
1 #ifndef HALIDE_BOUND_SMALL_ALLOCATIONS
2 #define HALIDE_BOUND_SMALL_ALLOCATIONS
3 
4 #include "Expr.h"
5 
6 /** \file
7  * Defines the lowering pass that attempts to rewrite small
8  * allocations to have constant size.
9  */
10 
11 namespace Halide {
12 namespace Internal {
13 
14 /** \file
15  *
16  * Use bounds analysis to attempt to bound the sizes of small
17  * allocations. Inside GPU kernels this is necessary in order to
18  * compile. On the CPU this is also useful, because it prevents malloc
19  * calls for (provably) tiny allocations. */
20 Stmt bound_small_allocations(const Stmt &s);
21 
22 } // namespace Internal
23 } // namespace Halide
24 
25 #endif
This file defines the class FunctionDAG, which is our representation of a Halide pipeline, and contains methods to using Halide's bounds tools to query properties of it.
Base classes for Halide expressions (Halide::Expr) and statements (Halide::Internal::Stmt) ...
Not visible externally, similar to 'static' linkage in C.
Stmt bound_small_allocations(const Stmt &s)