Halide
SplitTuples.h
Go to the documentation of this file.
1 #ifndef HALIDE_SPLIT_TUPLES_H
2 #define HALIDE_SPLIT_TUPLES_H
3 
4 #include "Expr.h"
5 #include <map>
6 
7 /** \file
8  * Defines the lowering pass that breaks up Tuple-valued realization
9  * and productions into several scalar-valued ones. */
10 
11 namespace Halide {
12 namespace Internal {
13 
14 class Function;
15 
16 /** Rewrite all tuple-valued Realizations, Provide nodes, and Call
17  * nodes into several scalar-valued ones, so that later lowering
18  * passes only need to think about scalar-valued productions. */
19 
20 Stmt split_tuples(const Stmt &s, const std::map<std::string, Function> &env);
21 
22 } // namespace Internal
23 } // namespace Halide
24 
25 #endif
Halide::Internal::split_tuples
Stmt split_tuples(const Stmt &s, const std::map< std::string, Function > &env)
Rewrite all tuple-valued Realizations, Provide nodes, and Call nodes into several scalar-valued ones,...
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::IOKind::Function
@ Function
Expr.h