[PATCH] D80277: [MLIR] Move `ConcatOp` to its lexicographic position
Frederik Gossen via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed May 20 01:02:55 PDT 2020
frgossen created this revision.
Herald added subscribers: llvm-commits, jurahul, Kayjukh, grosul1, Joonsoo, stephenneuendorffer, liufengdb, aartbik, lucyrfox, mgester, arpith-jacob, nicolasvasilache, antiagainst, shauheen, jpienaar, rriddle, mehdi_amini.
Herald added a reviewer: silvas.
Herald added a project: LLVM.
Purely cosmetic change.
The operation implementations in `Shape.cpp` are now lexicographic order.
Depends On D80275 <https://reviews.llvm.org/D80275>
Repository:
rG LLVM Github Monorepo
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
@@ -136,6 +136,34 @@
return builder.getI64TensorAttr(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.getI64TensorAttr(resultShape);
+}
+
//===----------------------------------------------------------------------===//
// ConstShapeOp
//===----------------------------------------------------------------------===//
@@ -258,34 +286,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.getI64TensorAttr(resultShape);
-}
-
//===----------------------------------------------------------------------===//
// ToExtentTensorOp
//===----------------------------------------------------------------------===//
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D80277.265157.patch
Type: text/x-patch
Size: 3017 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200520/b6af0061/attachment.bin>
More information about the llvm-commits
mailing list