@@ -1721,6 +1721,20 @@ class CIRPtrStrideOpLowering
17211721 }
17221722};
17231723
1724+ class CIRSelectOpLowering : public mlir ::OpConversionPattern<cir::SelectOp> {
1725+ public:
1726+ using OpConversionPattern<cir::SelectOp>::OpConversionPattern;
1727+
1728+ mlir::LogicalResult
1729+ matchAndRewrite (cir::SelectOp op, OpAdaptor adaptor,
1730+ mlir::ConversionPatternRewriter &rewriter) const override {
1731+ rewriter.replaceOpWithNewOp <mlir::arith::SelectOp>(
1732+ op, adaptor.getCondition (), adaptor.getTrueValue (),
1733+ adaptor.getFalseValue ());
1734+ return mlir::success ();
1735+ }
1736+ };
1737+
17241738class CIRUnreachableOpLowering
17251739 : public mlir::OpConversionPattern<cir::UnreachableOp> {
17261740public:
@@ -1764,14 +1778,15 @@ void populateCIRToMLIRConversionPatterns(mlir::RewritePatternSet &patterns,
17641778 CIRYieldOpLowering, CIRCosOpLowering, CIRGlobalOpLowering,
17651779 CIRGetGlobalOpLowering, CIRComplexCreateOpLowering,
17661780 CIRComplexRealOpLowering, CIRComplexImagOpLowering, CIRCastOpLowering,
1767- CIRPtrStrideOpLowering, CIRGetElementOpLowering, CIRSqrtOpLowering,
1768- CIRCeilOpLowering, CIRExp2OpLowering, CIRExpOpLowering, CIRFAbsOpLowering,
1769- CIRAbsOpLowering, CIRFloorOpLowering, CIRLog10OpLowering,
1770- CIRLog2OpLowering, CIRLogOpLowering, CIRRoundOpLowering, CIRSinOpLowering,
1771- CIRTanOpLowering, CIRShiftOpLowering, CIRBitClzOpLowering,
1772- CIRBitCtzOpLowering, CIRBitPopcountOpLowering, CIRBitClrsbOpLowering,
1773- CIRBitFfsOpLowering, CIRBitParityOpLowering, CIRIfOpLowering,
1774- CIRScopeOpLowering, CIRVectorCreateLowering, CIRVectorInsertLowering,
1781+ CIRPtrStrideOpLowering, CIRSelectOpLowering, CIRGetElementOpLowering,
1782+ CIRSqrtOpLowering, CIRCeilOpLowering, CIRExp2OpLowering, CIRExpOpLowering,
1783+ CIRFAbsOpLowering, CIRAbsOpLowering, CIRFloorOpLowering,
1784+ CIRLog10OpLowering, CIRLog2OpLowering, CIRLogOpLowering,
1785+ CIRRoundOpLowering, CIRSinOpLowering, CIRTanOpLowering,
1786+ CIRShiftOpLowering, CIRBitClzOpLowering, CIRBitCtzOpLowering,
1787+ CIRBitPopcountOpLowering, CIRBitClrsbOpLowering, CIRBitFfsOpLowering,
1788+ CIRBitParityOpLowering, CIRIfOpLowering, CIRScopeOpLowering,
1789+ CIRVectorCreateLowering, CIRVectorInsertLowering,
17751790 CIRVectorExtractLowering, CIRVectorCmpOpLowering, CIRACosOpLowering,
17761791 CIRASinOpLowering, CIRUnreachableOpLowering, CIRTrapOpLowering>(
17771792 converter, patterns.getContext ());
0 commit comments