23#define GEN_PASS_DEF_CONVERTARITHTOEMITC
24#include "mlir/Conversion/Passes.h.inc"
30struct ConvertArithToEmitC
32 void runOnOperation()
override;
36void ConvertArithToEmitC::runOnOperation() {
39 target.addLegalDialect<emitc::EmitCDialect>();
40 target.addIllegalDialect<arith::ArithDialect>();
44 TypeConverter typeConverter;
46 typeConverter.addConversion([](Type type) -> std::optional<Type> {
55 applyPartialConversion(getOperation(),
target, std::move(patterns))))
bool isSupportedEmitCType(mlir::Type type)
Determines whether type is valid in EmitC.
Include the generated interface declarations.
void populateArithToEmitCPatterns(TypeConverter &typeConverter, RewritePatternSet &patterns)