@@ -39,21 +39,6 @@ namespace imex {
3939
4040namespace {
4141
42- struct UBPoisonOpConversion final
43- : public mlir::OpConversionPattern<mlir::ub::PoisonOp> {
44- using OpConversionPattern::OpConversionPattern;
45- mlir::LogicalResult
46- matchAndRewrite (mlir::ub::PoisonOp poisonOp, OpAdaptor adaptor,
47- mlir::ConversionPatternRewriter &rewriter) const override {
48- auto dstTy = getTypeConverter ()->convertType (poisonOp.getType ());
49- if (!dstTy)
50- return rewriter.notifyMatchFailure (poisonOp, " cannot convert type." );
51-
52- rewriter.replaceOpWithNewOp <mlir::ub::PoisonOp>(poisonOp, dstTy);
53- return mlir::success ();
54- }
55- };
56-
5742struct VectorLinearizePass final
5843 : public imex::impl::VectorLinearizeBase<VectorLinearizePass> {
5944
@@ -130,23 +115,10 @@ struct VectorLinearizePass final
130115 mlir::ConversionTarget target (*context);
131116 typeConverter.addConversion ([](mlir::Type type) { return type; });
132117
133- target.addDynamicallyLegalOp <mlir::ub::PoisonOp>(
134- [&](mlir::ub::PoisonOp op) {
135- auto ty = op->getResult (0 ).getType ();
136- auto vecTy = mlir::dyn_cast_or_null<mlir::VectorType>(ty);
137- return vecTy && vecTy.getRank () == 1 ;
138- });
139-
140118 target.addIllegalOp <mlir::vector::TransposeOp>();
141119 target.addLegalOp <mlir::vector::ShapeCastOp>();
142120 target.addLegalOp <mlir::vector::ExtractOp>();
143121 target.addLegalDialect <mlir::xegpu::XeGPUDialect>();
144-
145- patterns.add <UBPoisonOpConversion>(typeConverter, context);
146-
147- if (mlir::failed (mlir::applyPartialConversion (getOperation (), target,
148- std::move (patterns))))
149- return signalPassFailure ();
150122 }
151123};
152124} // namespace
0 commit comments