Skip to content

Commit 41597d5

Browse files
committed
Temporarily revert folders due to going back to old fold API
1 parent da49008 commit 41597d5

File tree

2 files changed

+21
-18
lines changed

2 files changed

+21
-18
lines changed

mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -765,7 +765,7 @@ def Tosa_PowOp : Tosa_Op<"pow", [
765765
Tosa_Tensor:$z
766766
);
767767

768-
let hasFolder = 1;
768+
//let hasFolder = 1;
769769
}
770770

771771
//===----------------------------------------------------------------------===//
@@ -1060,7 +1060,7 @@ def Tosa_ReciprocalOp : Tosa_Op<"reciprocal", [
10601060
Tosa_Tensor:$output
10611061
);
10621062

1063-
let hasFolder = 1;
1063+
//let hasFolder = 1;
10641064
}
10651065

10661066
//===----------------------------------------------------------------------===//
@@ -1085,7 +1085,7 @@ def Tosa_RsqrtOp : Tosa_Op<"rsqrt", [
10851085
Tosa_Tensor:$output
10861086
);
10871087

1088-
let hasFolder = 1;
1088+
//let hasFolder = 1;
10891089
}
10901090

10911091
//===----------------------------------------------------------------------===//

mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -903,6 +903,7 @@ OpFoldResult ResizeOp::fold(ArrayRef<Attribute> operands) {
903903
return input;
904904
}
905905

906+
#if 0
906907
OpFoldResult RsqrtOp::fold(FoldAdaptor adaptor) {
907908
auto inputTy = getInput1().getType().dyn_cast<RankedTensorType>();
908909
auto outputTy = getType().dyn_cast<RankedTensorType>();
@@ -958,7 +959,22 @@ OpFoldResult PowOp::fold(FoldAdaptor adaptor) {
958959
return DenseElementsAttr::get(outputTy, ArrayRef<float>{v});
959960
}
960961

961-
OpFoldResult ReverseOp::fold(FoldAdaptor adaptor) {
962+
OpFoldResult ReciprocalOp::fold(FoldAdaptor adaptor) {
963+
auto src = adaptor.getInput1().dyn_cast_or_null<mlir::DenseElementsAttr>();
964+
965+
if (!src)
966+
return nullptr;
967+
968+
std::vector<float> v;
969+
v.resize(src.getNumElements());
970+
for(int i=0; i< src.getNumElements(); ++i)
971+
v[i] = 1.0 / src.getValues<float>()[i];
972+
973+
return mlir::DenseElementsAttr::get(src.getType(), ArrayRef(v));
974+
}
975+
#endif
976+
977+
OpFoldResult ReverseOp::fold(ArrayRef<Attribute> operands) {
962978
auto operand = getInput();
963979
auto operandTy = operand.getType().cast<ShapedType>();
964980
auto axis = getAxis();
@@ -973,21 +989,8 @@ OpFoldResult ReverseOp::fold(FoldAdaptor adaptor) {
973989
return {};
974990
}
975991

976-
OpFoldResult ReciprocalOp::fold(FoldAdaptor adaptor) {
977-
auto src = adaptor.getInput1().dyn_cast_or_null<mlir::DenseElementsAttr>();
978-
979-
if (!src)
980-
return nullptr;
981-
982-
std::vector<float> v;
983-
v.resize(src.getNumElements());
984-
for(int i=0; i< src.getNumElements(); ++i)
985-
v[i] = 1.0 / src.getValues<float>()[i];
986-
987-
return mlir::DenseElementsAttr::get(src.getType(), ArrayRef(v));
988-
}
989992

990-
OpFoldResult SliceOp::fold(FoldAdaptor adaptor) {
993+
OpFoldResult SliceOp::fold(ArrayRef<Attribute> operands) {
991994
auto inputTy = getInput().getType().dyn_cast<RankedTensorType>();
992995
auto outputTy = getType().dyn_cast<RankedTensorType>();
993996

0 commit comments

Comments
 (0)