forked from OSchip/llvm-project
[mlir][Vector] Add InferTypeOpInterface to vector dialect and remove the now redundant builders
This commit is contained in:
parent
c6a3225bb0
commit
a83e08b450
|
@ -13,6 +13,7 @@
|
|||
#ifndef VECTOR_OPS
|
||||
#define VECTOR_OPS
|
||||
|
||||
include "mlir/Interfaces/InferTypeOpInterface.td"
|
||||
include "mlir/Interfaces/SideEffectInterfaces.td"
|
||||
include "mlir/Interfaces/VectorInterfaces.td"
|
||||
include "mlir/Interfaces/ViewLikeInterface.td"
|
||||
|
@ -675,10 +676,6 @@ def Vector_FMAOp :
|
|||
```
|
||||
}];
|
||||
let assemblyFormat = "$lhs `,` $rhs `,` $acc attr-dict `:` type($lhs)";
|
||||
let builders = [
|
||||
OpBuilder<(ins "Value":$lhs, "Value":$rhs, "Value":$acc),
|
||||
[{build($_builder, $_state, lhs.getType(), lhs, rhs, acc);}]>
|
||||
];
|
||||
let extraClassDeclaration = [{
|
||||
VectorType getVectorType() { return lhs().getType().cast<VectorType>(); }
|
||||
}];
|
||||
|
@ -721,8 +718,6 @@ def Vector_InsertElementOp :
|
|||
let builders = [
|
||||
// 0-D builder.
|
||||
OpBuilder<(ins "Value":$source, "Value":$dest)>,
|
||||
// 1-D + position builder.
|
||||
OpBuilder<(ins "Value":$source, "Value":$dest, "Value":$position)>
|
||||
];
|
||||
let extraClassDeclaration = [{
|
||||
Type getSourceType() { return source().getType(); }
|
||||
|
|
|
@ -1837,14 +1837,7 @@ OpFoldResult vector::ShuffleOp::fold(ArrayRef<Attribute> operands) {
|
|||
|
||||
void InsertElementOp::build(OpBuilder &builder, OperationState &result,
|
||||
Value source, Value dest) {
|
||||
result.addOperands({source, dest});
|
||||
result.addTypes(dest.getType());
|
||||
}
|
||||
|
||||
void InsertElementOp::build(OpBuilder &builder, OperationState &result,
|
||||
Value source, Value dest, Value position) {
|
||||
result.addOperands({source, dest, position});
|
||||
result.addTypes(dest.getType());
|
||||
build(builder, result, source, dest, {});
|
||||
}
|
||||
|
||||
LogicalResult InsertElementOp::verify() {
|
||||
|
|
|
@ -2174,7 +2174,7 @@ cc_library(
|
|||
":StandardOps",
|
||||
":Support",
|
||||
":TransformUtils",
|
||||
":Transforms",
|
||||
":Transforms",
|
||||
":TransformsPassIncGen",
|
||||
"//llvm:Core",
|
||||
"//llvm:Support",
|
||||
|
@ -3616,8 +3616,8 @@ cc_library(
|
|||
":ArithmeticToLLVM",
|
||||
":Async",
|
||||
":AsyncToLLVM",
|
||||
":ConversionPassIncGen",
|
||||
":ControlFlowToLLVM",
|
||||
":ConversionPassIncGen",
|
||||
":GPUDialect",
|
||||
":GPUTransforms",
|
||||
":IR",
|
||||
|
@ -7143,6 +7143,7 @@ td_library(
|
|||
srcs = ["include/mlir/Dialect/Vector/IR/VectorOps.td"],
|
||||
includes = ["include"],
|
||||
deps = [
|
||||
":InferTypeOpInterfaceTdFiles",
|
||||
":OpBaseTdFiles",
|
||||
":SideEffectInterfacesTdFiles",
|
||||
":VectorInterfacesTdFiles",
|
||||
|
|
Loading…
Reference in New Issue