[PATCH] D74119: [NFC][mlir] Adding some helpful EDSC intrinsics
Kern Handa via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Feb 7 23:28:18 PST 2020
kernhanda updated this revision to Diff 243350.
kernhanda marked an inline comment as done.
kernhanda added a comment.
ran clang-format
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D74119/new/
https://reviews.llvm.org/D74119
Files:
mlir/include/mlir/EDSC/Intrinsics.h
mlir/lib/Conversion/LinalgToLLVM/LinalgToLLVM.cpp
Index: mlir/lib/Conversion/LinalgToLLVM/LinalgToLLVM.cpp
===================================================================
--- mlir/lib/Conversion/LinalgToLLVM/LinalgToLLVM.cpp
+++ mlir/lib/Conversion/LinalgToLLVM/LinalgToLLVM.cpp
@@ -51,7 +51,7 @@
using addi = ValueBuilder<mlir::AddIOp>;
using bitcast = ValueBuilder<mlir::LLVM::BitcastOp>;
using cmpi = ValueBuilder<mlir::CmpIOp>;
-using constant = ValueBuilder<mlir::LLVM::ConstantOp>;
+using llvm_constant = ValueBuilder<mlir::LLVM::ConstantOp>;
using extractvalue = ValueBuilder<mlir::LLVM::ExtractValueOp>;
using gep = ValueBuilder<mlir::LLVM::GEPOp>;
using insertvalue = ValueBuilder<mlir::LLVM::InsertValueOp>;
@@ -264,8 +264,8 @@
if (sliceOp.getShapedType().getRank() == 0)
return rewriter.replaceOp(op, {desc}), matchSuccess();
- Value zero =
- constant(int64Ty, rewriter.getIntegerAttr(rewriter.getIndexType(), 0));
+ Value zero = llvm_constant(
+ int64Ty, rewriter.getIntegerAttr(rewriter.getIndexType(), 0));
// Compute and insert view sizes (max - min along the range) and strides.
// Skip the non-range operands as they will be projected away from the view.
int numNewDims = 0;
Index: mlir/include/mlir/EDSC/Intrinsics.h
===================================================================
--- mlir/include/mlir/EDSC/Intrinsics.h
+++ mlir/include/mlir/EDSC/Intrinsics.h
@@ -107,7 +107,10 @@
SmallVector<Value, 8> values;
};
-template <typename T> inline T unpack(T value) { return value; }
+template <typename T>
+inline T unpack(T value) {
+ return value;
+}
inline detail::ValueHandleArray unpack(ArrayRef<ValueHandle> values) {
return detail::ValueHandleArray(values);
@@ -122,7 +125,8 @@
/// Implementing it as a subclass allows it to compose all the way to Value.
/// Without subclassing, implicit conversion to Value would fail when composing
/// in patterns such as: `select(a, b, select(c, d, e))`.
-template <typename Op> struct ValueBuilder : public ValueHandle {
+template <typename Op>
+struct ValueBuilder : public ValueHandle {
// Builder-based
template <typename... Args>
ValueBuilder(Args... args)
@@ -169,7 +173,8 @@
ValueBuilder() : ValueHandle(ValueHandle::create<Op>()) {}
};
-template <typename Op> struct OperationBuilder : public OperationHandle {
+template <typename Op>
+struct OperationBuilder : public OperationHandle {
template <typename... Args>
OperationBuilder(Args... args)
: OperationHandle(OperationHandle::create<Op>(detail::unpack(args)...)) {}
@@ -200,11 +205,14 @@
using affine_store = OperationBuilder<AffineStoreOp>;
using alloc = ValueBuilder<AllocOp>;
using call = OperationBuilder<mlir::CallOp>;
+using constant = ValueBuilder<ConstantOp>;
using constant_float = ValueBuilder<ConstantFloatOp>;
using constant_index = ValueBuilder<ConstantIndexOp>;
using constant_int = ValueBuilder<ConstantIntOp>;
using dealloc = OperationBuilder<DeallocOp>;
using dim = ValueBuilder<DimOp>;
+using extract_element = ValueBuilder<ExtractElementOp>;
+using index_cast = ValueBuilder<IndexCastOp>;
using muli = ValueBuilder<MulIOp>;
using mulf = ValueBuilder<MulFOp>;
using memref_cast = ValueBuilder<MemRefCastOp>;
@@ -213,7 +221,10 @@
using std_load = ValueBuilder<LoadOp>;
using std_store = OperationBuilder<StoreOp>;
using subi = ValueBuilder<SubIOp>;
+using sub_view = ValueBuilder<SubViewOp>;
using tanh = ValueBuilder<TanhOp>;
+using tensor_load = ValueBuilder<TensorLoadOp>;
+using tensor_store = OperationBuilder<TensorStoreOp>;
using view = ValueBuilder<ViewOp>;
using zero_extendi = ValueBuilder<ZeroExtendIOp>;
using sign_extendi = ValueBuilder<SignExtendIOp>;
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D74119.243350.patch
Type: text/x-patch
Size: 3682 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200208/ef45fbc9/attachment.bin>
More information about the llvm-commits
mailing list