Halide
EarlyFree.h
Go to the documentation of this file.
1 #ifndef HALIDE_EARLY_FREE_H
2 #define HALIDE_EARLY_FREE_H
3 
4 /** \file
5  * Defines the lowering pass that injects markers just after
6  * the last use of each buffer so that they can potentially be freed
7  * earlier.
8  */
9 
10 #include "Expr.h"
11 
12 namespace Halide {
13 namespace Internal {
14 
15 /** Take a statement with allocations and inject markers (of the form
16  * of calls to "mark buffer dead") after the last use of each
17  * allocation. Targets may use this to free buffers earlier than the
18  * close of their Allocate node. */
19 Stmt inject_early_frees(const Stmt &s);
20 
21 } // namespace Internal
22 } // namespace Halide
23 
24 #endif
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.
Expr.h
Halide::Internal::inject_early_frees
Stmt inject_early_frees(const Stmt &s)
Take a statement with allocations and inject markers (of the form of calls to "mark buffer dead") aft...