[PATCH] D80277: [MLIR] Move `ConcatOp` to its lexicographic position
Frederik Gossen via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu May 28 06:30:29 PDT 2020
frgossen updated this revision to Diff 266843.
frgossen added a comment.
Rebase
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D80277/new/
https://reviews.llvm.org/D80277
Files:
mlir/lib/Dialect/Shape/IR/Shape.cpp
Index: mlir/lib/Dialect/Shape/IR/Shape.cpp
===================================================================
--- mlir/lib/Dialect/Shape/IR/Shape.cpp
+++ mlir/lib/Dialect/Shape/IR/Shape.cpp
@@ -180,6 +180,34 @@
return builder.getIndexTensorAttr(resultShape);
}
+//===----------------------------------------------------------------------===//
+// ConcatOp
+//===----------------------------------------------------------------------===//
+
+LogicalResult
+ConcatOp::inferReturnTypes(MLIRContext *context, Optional<Location> location,
+ ValueRange operands, DictionaryAttr attributes,
+ RegionRange regions,
+ SmallVectorImpl<Type> &inferredReturnTypes) {
+ auto shapeType = ShapeType::get(context);
+ inferredReturnTypes.push_back(shapeType);
+ return success();
+}
+
+OpFoldResult ConcatOp::fold(ArrayRef<Attribute> operands) {
+ if (!operands[0] || !operands[1])
+ return nullptr;
+ auto lhsShape = llvm::to_vector<6>(
+ operands[0].cast<DenseIntElementsAttr>().getValues<int64_t>());
+ auto rhsShape = llvm::to_vector<6>(
+ operands[1].cast<DenseIntElementsAttr>().getValues<int64_t>());
+ SmallVector<int64_t, 6> resultShape;
+ resultShape.append(lhsShape.begin(), lhsShape.end());
+ resultShape.append(rhsShape.begin(), rhsShape.end());
+ Builder builder(getContext());
+ return builder.getIndexTensorAttr(resultShape);
+}
+
//===----------------------------------------------------------------------===//
// ConstShapeOp
//===----------------------------------------------------------------------===//
@@ -341,34 +369,6 @@
return success();
}
-//===----------------------------------------------------------------------===//
-// ConcatOp
-//===----------------------------------------------------------------------===//
-
-LogicalResult
-ConcatOp::inferReturnTypes(MLIRContext *context, Optional<Location> location,
- ValueRange operands, DictionaryAttr attributes,
- RegionRange regions,
- SmallVectorImpl<Type> &inferredReturnTypes) {
- auto shapeType = ShapeType::get(context);
- inferredReturnTypes.push_back(shapeType);
- return success();
-}
-
-OpFoldResult ConcatOp::fold(ArrayRef<Attribute> operands) {
- if (!operands[0] || !operands[1])
- return nullptr;
- auto lhsShape = llvm::to_vector<6>(
- operands[0].cast<DenseIntElementsAttr>().getValues<int64_t>());
- auto rhsShape = llvm::to_vector<6>(
- operands[1].cast<DenseIntElementsAttr>().getValues<int64_t>());
- SmallVector<int64_t, 6> resultShape;
- resultShape.append(lhsShape.begin(), lhsShape.end());
- resultShape.append(rhsShape.begin(), rhsShape.end());
- Builder builder(getContext());
- return builder.getIndexTensorAttr(resultShape);
-}
-
//===----------------------------------------------------------------------===//
// ToExtentTensorOp
//===----------------------------------------------------------------------===//
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D80277.266843.patch
Type: text/x-patch
Size: 3023 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200528/acf46bc2/attachment.bin>
More information about the llvm-commits
mailing list