#include "TestDialect.h"
#include "mlir/Conversion/FuncToLLVM/ConvertFuncToLLVM.h"
#include "mlir/Conversion/LLVMCommon/ConversionTarget.h"
#include "mlir/Conversion/LLVMCommon/Pattern.h"
#include "mlir/Dialect/Func/IR/FuncOps.h"
#include "mlir/Dialect/LLVMIR/LLVMDialect.h"
#include "mlir/IR/PatternMatch.h"
#include "mlir/Pass/Pass.h"
usingnamespacemlir;
namespace {
struct FuncOpConversion : public ConvertOpToLLVMPattern<func::FuncOp> { … };
struct ReturnOpConversion : public ConvertOpToLLVMPattern<func::ReturnOp> { … };
static std::optional<Type>
convertSimpleATypeToStruct(test::SimpleAType simpleTy) { … }
struct TestConvertFuncOp
: public PassWrapper<TestConvertFuncOp, OperationPass<ModuleOp>> { … };
}
namespace mlir::test {
void registerConvertFuncOpPass() { … }
}