mlir-hlo/tools/mlir-tblgen-builder/Builder/Builder.h

30 lines
663 B
C++

#ifndef BUILDER_BUILDER_
#define BUILDER_BUILDER_
#include <memory>
#include "tools/mlir-tblgen-builder/Builder/Attribute.h"
#include "tools/mlir-tblgen-builder/Builder/Op.h"
namespace builder {
class Builder {
public:
Builder();
void SetInput(const std::vector<builder::Op>& inputs);
builder::Op CreateInput(const builder::Type& type);
void SetOutput(const std::vector<builder::Op>& outputs);
void DumpModule();
class Impl;
std::shared_ptr<Impl> GetImpl() const { return impl_; }
private:
std::shared_ptr<Impl> impl_;
};
} // namespace builder
#define GET_OP_CLASSES
#include "include/mlir-hlo/Dialect/mhlo/IR/hlo_builder.h.inc"
#endif