https://github.com/halide/Halide
Raw File
Tip revision: 4f20718ede9647201aa3a996923425fc905ba1dd authored by Andrew Adams on 05 March 2021, 23:29:40 UTC
Merge remote-tracking branch 'origin/master' into abadams/fix-arm-seg2
Tip revision: 4f20718
PythonExtensionGen.h
#ifndef HALIDE_PYTHON_EXTENSION_GEN_H_
#define HALIDE_PYTHON_EXTENSION_GEN_H_

#include <iostream>
#include <string>
#include <vector>

namespace Halide {

class Module;

namespace Internal {

struct LoweredArgument;
struct LoweredFunc;

class PythonExtensionGen {
public:
    PythonExtensionGen(std::ostream &dest);

    void compile(const Module &module);

private:
    std::ostream &dest;
    std::vector<std::string> buffer_refs;

    void compile(const LoweredFunc &f);
    void convert_buffer(const std::string &name, const LoweredArgument *arg);
    void release_buffers(const std::string &prefix);
};

}  // namespace Internal
}  // namespace Halide

#endif  // HALIDE_PYTHON_EXTENSION_GEN_H_
back to top