Skip to content

Commit 19cbd7d

Browse files
committed
pr: Add assign conversion.
1 parent dfedda3 commit 19cbd7d

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

lib/vast/Conversion/Parser/ToParser.cpp

+19
Original file line numberDiff line numberDiff line change
@@ -552,6 +552,24 @@ namespace vast::conv {
552552
}
553553
};
554554

555+
struct AssignConversion
556+
: one_to_one_conversion_pattern< hl::AssignOp, pr::Assign >
557+
{
558+
using op_t = hl::AssignOp;
559+
using base = one_to_one_conversion_pattern< op_t, pr::Assign >;
560+
using base::base;
561+
562+
using adaptor_t = typename op_t::Adaptor;
563+
564+
logical_result matchAndRewrite(
565+
op_t op, adaptor_t adaptor, conversion_rewriter &rewriter
566+
) const override {
567+
auto args = realized_operand_values(adaptor.getOperands(), rewriter);
568+
rewriter.replaceOpWithNewOp< pr::Assign >(op, std::vector< mlir_type >(), args);
569+
return mlir::success();
570+
}
571+
};
572+
555573
struct ExprConversion
556574
: parser_conversion_pattern_base< hl::ExprOp >
557575
{
@@ -643,6 +661,7 @@ namespace vast::conv {
643661
ToNoParse< hl::MulFOp >, ToNoParse< hl::DivFOp >,
644662
ToNoParse< hl::RemFOp >,
645663
// Other operations
664+
AssignConversion,
646665
ExprConversion,
647666
FuncConversion,
648667
ParamConversion,

0 commit comments

Comments
 (0)