21 template <
typename OpTy>
26 matchAndRewrite(OpTy op,
typename OpTy::Adaptor adaptor,
28 if (adaptor.getOperands().getTypes() == op->getOperands().getTypes())
32 op, [&]() { op->setOperands(adaptor.getOperands()); });
43 ScalableMaskedAddIIntrOp>;
46 ScalableMaskedAddFIntrOp>;
49 ScalableMaskedSubIIntrOp>;
52 ScalableMaskedSubFIntrOp>;
55 ScalableMaskedMulIIntrOp>;
58 ScalableMaskedMulFIntrOp>;
61 ScalableMaskedSDivIIntrOp>;
64 ScalableMaskedUDivIIntrOp>;
67 ScalableMaskedDivFIntrOp>;
102 ScalableMaskedAddIIntrOp,
103 ScalableMaskedAddFIntrOp,
104 ScalableMaskedSubIIntrOp,
105 ScalableMaskedSubFIntrOp,
106 ScalableMaskedMulIIntrOp,
107 ScalableMaskedMulFIntrOp,
108 ScalableMaskedSDivIIntrOp,
109 ScalableMaskedUDivIIntrOp,
110 ScalableMaskedDivFIntrOp>();
115 ScalableMaskedAddIOp,
116 ScalableMaskedAddFOp,
117 ScalableMaskedSubIOp,
118 ScalableMaskedSubFOp,
119 ScalableMaskedMulIOp,
120 ScalableMaskedMulFOp,
121 ScalableMaskedSDivIOp,
122 ScalableMaskedUDivIOp,
123 ScalableMaskedDivFOp>();
Include the generated interface declarations.
void addLegalOp(OperationName op)
Register the given operations as legal.
RewritePatternSet & add(ConstructorArg &&arg, ConstructorArgs &&...args)
Add an instance of each of the pattern types 'Ts' to the pattern list with the given arguments...
Generic implementation of one-to-one conversion from "SourceOp" to "TargetOp" where the latter belong...
Derived class that automatically populates legalization information for different LLVM ops...
void addIllegalOp(OperationName op)
Register the given operation as illegal, i.e.
LogicalResult success(bool isSuccess=true)
Utility function to generate a LogicalResult.
This class represents an efficient way to signal success or failure.
void updateRootInPlace(Operation *root, CallableT &&callable)
This method is a utility wrapper around a root update of an operation.
LogicalResult notifyMatchFailure(Location loc, function_ref< void(Diagnostic &)> reasonCallback) override
PatternRewriter hook for notifying match failure reasons.
OpConversionPattern is a wrapper around ConversionPattern that allows for matching and rewriting agai...
void populateArmSVELegalizeForLLVMExportPatterns(LLVMTypeConverter &converter, RewritePatternSet &patterns)
Collect a set of patterns to lower ArmSVE ops to ops that map to LLVM intrinsics. ...
Conversion from types to the LLVM IR dialect.
void configureArmSVELegalizeForExportTarget(LLVMConversionTarget &target)
Configure the target to support lowering ArmSVE ops to ops that map to LLVM intrinsics.
This class implements a pattern rewriter for use with ConversionPatterns.
MLIRContext * getContext() const
Return the MLIRContext used to create this pattern.