Halide 14.0.0
Halide compiler and libraries
PythonExtensionGen.h
Go to the documentation of this file.
1#ifndef HALIDE_PYTHON_EXTENSION_GEN_H_
2#define HALIDE_PYTHON_EXTENSION_GEN_H_
3
4#include <iostream>
5#include <string>
6#include <vector>
7
8namespace Halide {
9
10class Module;
11
12namespace Internal {
13
14struct LoweredArgument;
15struct LoweredFunc;
16
18public:
19 PythonExtensionGen(std::ostream &dest);
20
21 void compile(const Module &module);
22
23private:
24 std::ostream &dest;
25 std::vector<std::string> buffer_refs;
26
27 void compile(const LoweredFunc &f);
28 void convert_buffer(const std::string &name, const LoweredArgument *arg);
29 void release_buffers(const std::string &prefix);
30};
31
32} // namespace Internal
33} // namespace Halide
34
35#endif // HALIDE_PYTHON_EXTENSION_GEN_H_
void compile(const Module &module)
PythonExtensionGen(std::ostream &dest)
A halide module.
Definition: Module.h:172
This file defines the class FunctionDAG, which is our representation of a Halide pipeline,...
@ Internal
Not visible externally, similar to 'static' linkage in C.
Definition of an argument to a LoweredFunc.
Definition: Module.h:116
Definition of a lowered function.
Definition: Module.h:133