13 #ifndef MLIR_DIALECT_LINALG_EDSC_BUILDERS_H_ 14 #define MLIR_DIALECT_LINALG_EDSC_BUILDERS_H_ 32 return getParallelIteratorTypeName();
34 return getReductionIteratorTypeName();
36 llvm_unreachable(
"Unsupported IterType");
53 operator Value() const {
return value; }
58 : value(v), exprs(indexings.begin(), indexings.end()) {
151 assert(values.size() == 3 &&
"Expected exactly 3 values");
181 template <
typename Container>
184 assert(values.size() == 3 &&
"Expected exactly 3 values");
185 return linalg_conv_nhwc(values[0], values[1], values[2], strides, dilations);
215 template <
typename Container>
219 assert(values.size() == 3 &&
"Expected exactly 3 values");
221 depth_multiplier, strides, dilations);
228 #endif // MLIR_DIALECT_LINALG_EDSC_BUILDERS_H_
Definition: InferTypeOpInterface.cpp:20
Definition: Operation.h:27
Value getValue() const
Definition: Builders.h:358
Definition: Builders.h:290
ArrayRef< AffineExpr > getExprs()
Definition: Builders.h:54
Operation * linalg_dilated_conv_nhwc(Container values, int depth_multiplier, ArrayRef< int > strides={}, ArrayRef< int > dilations={})
Definition: Builders.h:216
Operation * linalg_pointwise_tanh(StructuredIndexed I, StructuredIndexed O)
Definition: Builders.cpp:125
void macRegionBuilder(ArrayRef< BlockArgument > args)
Definition: Builders.cpp:104
Definition: Builders.h:47
IterType
Definition: Builders.h:27
void defaultRegionBuilder(ArrayRef< BlockArgument > args)
Definition: Builders.h:68
Operation * linalg_conv_nhwc(Container values, ArrayRef< int > strides={}, ArrayRef< int > dilations={})
Definition: Builders.h:182
Type getType() const
Return the type of this value.
Definition: Value.cpp:34
StringRef toString(IterType t)
Definition: Builders.h:29
Definition: StandardTypes.h:390
Operation * makeGenericLinalgOp(ArrayRef< IterType > iteratorTypes, ArrayRef< StructuredIndexed > inputs, ArrayRef< StructuredIndexed > outputs, function_ref< void(ArrayRef< BlockArgument >)> regionBuilder=defaultRegionBuilder, ArrayRef< Value > otherValues={}, ArrayRef< Attribute > otherAttributes={})
Definition: Builders.cpp:35
OperationBuilder< linalg::YieldOp > linalg_yield
Definition: Intrinsics.h:21
Operation * linalg_pointwise_max(StructuredIndexed I1, StructuredIndexed I2, StructuredIndexed O)
Definition: Builders.cpp:157
Operation * linalg_matmul(Container values)
Definition: Builders.h:150
StructuredIndexed(Value v)
Definition: Builders.h:48
StructuredIndexed operator()(ArrayRef< AffineExpr > indexings)
Definition: Builders.h:49
Operation * linalg_pointwise(BinaryPointwiseOpBuilder binaryOp, StructuredIndexed I1, StructuredIndexed I2, StructuredIndexed O)
Binary pointwise operation (with broadcast) entry point.
Definition: Builders.cpp:134
bool isa() const
Definition: Types.h:254
Operation * linalg_pointwise_add(StructuredIndexed I1, StructuredIndexed I2, StructuredIndexed O)
Definition: Builders.cpp:148