19 using namespace mlir::arm_sve;
21 template <
typename OpTy>
26 matchAndRewrite(OpTy op,
typename OpTy::Adaptor adaptor,
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>();
This class implements a pattern rewriter for use with ConversionPatterns.
LogicalResult notifyMatchFailure(Location loc, function_ref< void(Diagnostic &)> reasonCallback) override
PatternRewriter hook for notifying match failure reasons.
void addLegalOp(OperationName op)
Register the given operations as legal.
void addIllegalOp(OperationName op)
Register the given operation as illegal, i.e.
Derived class that automatically populates legalization information for different LLVM ops.
Conversion from types to the LLVM IR dialect.
MLIRContext & getContext()
Returns the MLIR context.
Generic implementation of one-to-one conversion from "SourceOp" to "TargetOp" where the latter belong...
OpConversionPattern is a wrapper around ConversionPattern that allows for matching and rewriting agai...
type_range getTypes() const
operand_range getOperands()
Returns an iterator on the underlying Value's.
void setOperands(ValueRange operands)
Replace the current operands of this operation with the ones provided in 'operands'.
RewritePatternSet & add(ConstructorArg &&arg, ConstructorArgs &&...args)
Add an instance of each of the pattern types 'Ts' to the pattern list with the given arguments.
void updateRootInPlace(Operation *root, CallableT &&callable)
This method is a utility wrapper around a root update of an operation.
This header declares functions that assit transformations in the MemRef dialect.
void configureArmSVELegalizeForExportTarget(LLVMConversionTarget &target)
Configure the target to support lowering ArmSVE ops to ops that map to LLVM intrinsics.
LogicalResult success(bool isSuccess=true)
Utility function to generate a LogicalResult.
void populateArmSVELegalizeForLLVMExportPatterns(LLVMTypeConverter &converter, RewritePatternSet &patterns)
Collect a set of patterns to lower ArmSVE ops to ops that map to LLVM intrinsics.
This class represents an efficient way to signal success or failure.