diff --git a/mlir/include/mlir/Dialect/ArmSVE/ArmSVE.td b/mlir/include/mlir/Dialect/ArmSVE/ArmSVE.td --- a/mlir/include/mlir/Dialect/ArmSVE/ArmSVE.td +++ b/mlir/include/mlir/Dialect/ArmSVE/ArmSVE.td @@ -15,7 +15,6 @@ include "mlir/Interfaces/SideEffectInterfaces.td" include "mlir/Dialect/LLVMIR/LLVMOpBase.td" -include "mlir/Dialect/Arithmetic/IR/ArithmeticBase.td" //===----------------------------------------------------------------------===// // ArmSVE dialect definition diff --git a/mlir/lib/Dialect/ArmSVE/IR/ArmSVEDialect.cpp b/mlir/lib/Dialect/ArmSVE/IR/ArmSVEDialect.cpp --- a/mlir/lib/Dialect/ArmSVE/IR/ArmSVEDialect.cpp +++ b/mlir/lib/Dialect/ArmSVE/IR/ArmSVEDialect.cpp @@ -12,7 +12,6 @@ #include "mlir/Dialect/ArmSVE/ArmSVEDialect.h" #include "mlir/Dialect/LLVMIR/LLVMTypes.h" -#include "mlir/Dialect/Vector/VectorOps.h" #include "mlir/IR/Builders.h" #include "mlir/IR/DialectImplementation.h" #include "mlir/IR/OpImplementation.h" @@ -20,11 +19,26 @@ #include "llvm/ADT/TypeSwitch.h" using namespace mlir; -using namespace arm_sve; +using namespace mlir::arm_sve; -#include "mlir/Dialect/ArmSVE/ArmSVEDialect.cpp.inc" +//===----------------------------------------------------------------------===// +// ScalableVector versions of general helpers for comparison ops +//===----------------------------------------------------------------------===// + +/// Return the scalable vector of the same shape and containing i1. +static Type getI1SameShape(Type type) { + auto i1Type = IntegerType::get(type.getContext(), 1); + if (auto sVectorType = type.dyn_cast()) + return VectorType::get(sVectorType.getShape(), i1Type, + sVectorType.getNumScalableDims()); + return nullptr; +} + +//===----------------------------------------------------------------------===// +// Tablegen Definitions +//===----------------------------------------------------------------------===// -static Type getI1SameShape(Type type); +#include "mlir/Dialect/ArmSVE/ArmSVEDialect.cpp.inc" #define GET_OP_CLASSES #include "mlir/Dialect/ArmSVE/ArmSVE.cpp.inc" @@ -38,16 +52,3 @@ #include "mlir/Dialect/ArmSVE/ArmSVE.cpp.inc" >(); } - -//===----------------------------------------------------------------------===// -// ScalableVector versions of general helpers for comparison ops -//===----------------------------------------------------------------------===// - -// Return the scalable vector of the same shape and containing i1. -static Type getI1SameShape(Type type) { - auto i1Type = IntegerType::get(type.getContext(), 1); - if (auto sVectorType = type.dyn_cast()) - return VectorType::get(sVectorType.getShape(), i1Type, - sVectorType.getNumScalableDims()); - return nullptr; -} diff --git a/mlir/lib/Dialect/ArmSVE/IR/CMakeLists.txt b/mlir/lib/Dialect/ArmSVE/IR/CMakeLists.txt --- a/mlir/lib/Dialect/ArmSVE/IR/CMakeLists.txt +++ b/mlir/lib/Dialect/ArmSVE/IR/CMakeLists.txt @@ -10,6 +10,5 @@ LINK_LIBS PUBLIC MLIRIR MLIRLLVMIR - MLIRStandard MLIRSideEffectInterfaces ) diff --git a/mlir/lib/Dialect/ArmSVE/Transforms/LegalizeForLLVMExport.cpp b/mlir/lib/Dialect/ArmSVE/Transforms/LegalizeForLLVMExport.cpp --- a/mlir/lib/Dialect/ArmSVE/Transforms/LegalizeForLLVMExport.cpp +++ b/mlir/lib/Dialect/ArmSVE/Transforms/LegalizeForLLVMExport.cpp @@ -11,7 +11,6 @@ #include "mlir/Dialect/ArmSVE/ArmSVEDialect.h" #include "mlir/Dialect/ArmSVE/Transforms.h" #include "mlir/Dialect/LLVMIR/LLVMDialect.h" -#include "mlir/Dialect/StandardOps/IR/Ops.h" #include "mlir/IR/BuiltinOps.h" #include "mlir/IR/PatternMatch.h" @@ -34,19 +33,6 @@ } }; -class ReturnOpTypeConversion : public OpConversionPattern { -public: - using OpConversionPattern::OpConversionPattern; - - LogicalResult - matchAndRewrite(ReturnOp op, OpAdaptor adaptor, - ConversionPatternRewriter &rewriter) const final { - rewriter.updateRootInPlace( - op, [&]() { op->setOperands(adaptor.getOperands()); }); - return success(); - } -}; - using SdotOpLowering = OneToOneConvertToLLVMPattern; using SmmlaOpLowering = OneToOneConvertToLLVMPattern; using UdotOpLowering = OneToOneConvertToLLVMPattern;