Halide  12.0.1
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 
8 namespace Halide {
9 
10 class Module;
11 
12 namespace Internal {
13 
14 struct LoweredArgument;
15 struct LoweredFunc;
16 
18 public:
19  PythonExtensionGen(std::ostream &dest);
20 
21  void compile(const Module &module);
22 
23 private:
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:135
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:79
Definition of a lowered function.
Definition: Module.h:96