diff --git a/mlir/include/mlir/Dialect/EmitC/IR/EmitC.h b/mlir/include/mlir/Dialect/EmitC/IR/EmitC.h index 2b8b89b9f4e4c1..fd9525dd1d2858 100644 --- a/mlir/include/mlir/Dialect/EmitC/IR/EmitC.h +++ b/mlir/include/mlir/Dialect/EmitC/IR/EmitC.h @@ -31,7 +31,7 @@ namespace mlir { namespace emitc { void buildTerminatedBody(OpBuilder &builder, Location loc); /// Determines whether \p type is valid in EmitC. -bool isValidEmitCType(mlir::Type type); +bool isSupportedEmitCType(mlir::Type type); /// Determines whether \p type is a valid integer type in EmitC. bool isSupportedIntegerType(mlir::Type type); /// Determines whether \p type is a valid floating-point type in EmitC. diff --git a/mlir/include/mlir/Dialect/EmitC/IR/EmitC.td b/mlir/include/mlir/Dialect/EmitC/IR/EmitC.td index 08ba650db36f1f..1e4be442118665 100644 --- a/mlir/include/mlir/Dialect/EmitC/IR/EmitC.td +++ b/mlir/include/mlir/Dialect/EmitC/IR/EmitC.td @@ -34,16 +34,16 @@ class EmitC_Op traits = []> // Base class for unary operations. class EmitC_UnaryOp traits = []> : EmitC_Op { - let arguments = (ins Valid_EmitC_Type); - let results = (outs Valid_EmitC_Type); + let arguments = (ins EmitCType); + let results = (outs EmitCType); let assemblyFormat = "operands attr-dict `:` functional-type(operands, results)"; } // Base class for binary operations. class EmitC_BinaryOp traits = []> : EmitC_Op { - let arguments = (ins Valid_EmitC_Type:$lhs, Valid_EmitC_Type:$rhs); - let results = (outs Valid_EmitC_Type); + let arguments = (ins EmitCType:$lhs, EmitCType:$rhs); + let results = (outs EmitCType); let assemblyFormat = "operands attr-dict `:` functional-type(operands, results)"; } @@ -97,9 +97,9 @@ def EmitC_ApplyOp : EmitC_Op<"apply", [CExpression]> { }]; let arguments = (ins Arg:$applicableOperator, - Valid_EmitC_Type:$operand + EmitCType:$operand ); - let results = (outs Valid_EmitC_Type:$result); + let results = (outs EmitCType:$result); let assemblyFormat = [{ $applicableOperator `(` $operand `)` attr-dict `:` functional-type($operand, results) }]; @@ -240,9 +240,9 @@ def EmitC_CallOpaqueOp : EmitC_Op<"call_opaque", [CExpression]> { Arg:$callee, Arg, "the order of operands and further attributes">:$args, Arg, "template arguments">:$template_args, - Variadic:$operands + Variadic:$operands ); - let results = (outs Variadic); + let results = (outs Variadic); let builders = [ OpBuilder<(ins "::mlir::TypeRange":$resultTypes, @@ -284,8 +284,8 @@ def EmitC_CastOp : EmitC_Op<"cast", ``` }]; - let arguments = (ins Valid_EmitC_Type:$source); - let results = (outs Valid_EmitC_Type:$dest); + let arguments = (ins EmitCType:$source); + let results = (outs EmitCType:$dest); let assemblyFormat = "$source attr-dict `:` type($source) `to` type($dest)"; } @@ -323,9 +323,9 @@ def EmitC_CmpOp : EmitC_BinaryOp<"cmp", [CExpression]> { }]; let arguments = (ins EmitC_CmpPredicateAttr:$predicate, - Valid_EmitC_Type:$lhs, - Valid_EmitC_Type:$rhs); - let results = (outs Valid_EmitC_Type); + EmitCType:$lhs, + EmitCType:$rhs); + let results = (outs EmitCType); let assemblyFormat = "$predicate `,` operands attr-dict `:` functional-type(operands, results)"; } @@ -354,7 +354,7 @@ def EmitC_ConstantOp : EmitC_Op<"constant", [ConstantLike]> { }]; let arguments = (ins EmitC_OpaqueOrTypedAttr:$value); - let results = (outs Valid_EmitC_Type); + let results = (outs EmitCType); let hasFolder = 1; let hasVerifier = 1; @@ -424,7 +424,7 @@ def EmitC_ExpressionOp : EmitC_Op<"expression", }]; let arguments = (ins UnitAttr:$do_not_inline); - let results = (outs Valid_EmitC_Type:$result); + let results = (outs EmitCType:$result); let regions = (region SizedRegion<1>:$region); let hasVerifier = 1; @@ -532,8 +532,8 @@ def EmitC_CallOp : EmitC_Op<"call", %2 = emitc.call @my_add(%0, %1) : (f32, f32) -> f32 ``` }]; - let arguments = (ins FlatSymbolRefAttr:$callee, Variadic:$operands); - let results = (outs Variadic); + let arguments = (ins FlatSymbolRefAttr:$callee, Variadic:$operands); + let results = (outs Variadic); let builders = [ OpBuilder<(ins "FuncOp":$callee, CArg<"ValueRange", "{}">:$operands), [{ @@ -723,7 +723,7 @@ def EmitC_ReturnOp : EmitC_Op<"return", [Pure, HasParent<"FuncOp">, } ``` }]; - let arguments = (ins Optional:$operand); + let arguments = (ins Optional:$operand); let assemblyFormat = "attr-dict ($operand^ `:` type($operand))?"; let hasVerifier = 1; @@ -767,7 +767,7 @@ def EmitC_LiteralOp : EmitC_Op<"literal", [Pure]> { }]; let arguments = (ins StrAttr:$value); - let results = (outs Valid_EmitC_Type:$result); + let results = (outs EmitCType:$result); let hasVerifier = 1; let assemblyFormat = "$value attr-dict `:` type($result)"; @@ -933,8 +933,8 @@ def EmitC_ConditionalOp : EmitC_Op<"conditional", int32_t v6 = v3 ? v4 : v5; ``` }]; - let arguments = (ins I1:$condition, Valid_EmitC_Type:$true_value, Valid_EmitC_Type:$false_value); - let results = (outs Valid_EmitC_Type:$result); + let arguments = (ins I1:$condition, EmitCType:$true_value, EmitCType:$false_value); + let results = (outs EmitCType:$result); let assemblyFormat = "operands attr-dict `:` type($result)"; } @@ -1011,7 +1011,7 @@ def EmitC_VariableOp : EmitC_Op<"variable", []> { }]; let arguments = (ins EmitC_OpaqueOrTypedAttr:$value); - let results = (outs Valid_EmitC_Type); + let results = (outs EmitCType); let hasVerifier = 1; } @@ -1081,7 +1081,7 @@ def EmitC_GetGlobalOp : EmitC_Op<"get_global", }]; let arguments = (ins FlatSymbolRefAttr:$name); - let results = (outs AnyType:$result); + let results = (outs EmitCType:$result); let assemblyFormat = "$name `:` type($result) attr-dict"; } @@ -1139,7 +1139,7 @@ def EmitC_AssignOp : EmitC_Op<"assign", []> { ``` }]; - let arguments = (ins Valid_EmitC_Type:$var, Valid_EmitC_Type:$value); + let arguments = (ins EmitCType:$var, EmitCType:$value); let results = (outs); let hasVerifier = 1; @@ -1160,7 +1160,7 @@ def EmitC_YieldOp : EmitC_Op<"yield", value is yielded. }]; - let arguments = (ins Optional:$result); + let arguments = (ins Optional:$result); let builders = [OpBuilder<(ins), [{ /* nothing to do */ }]>]; let hasVerifier = 1; @@ -1243,7 +1243,7 @@ def EmitC_SubscriptOp : EmitC_Op<"subscript", }]; let arguments = (ins Arg:$array, Variadic:$indices); - let results = (outs Valid_EmitC_Type:$result); + let results = (outs EmitCType:$result); let builders = [ OpBuilder<(ins "Value":$array, "ValueRange":$indices), [{ diff --git a/mlir/include/mlir/Dialect/EmitC/IR/EmitCTypes.td b/mlir/include/mlir/Dialect/EmitC/IR/EmitCTypes.td index 46355f43c483fb..444395b915e250 100644 --- a/mlir/include/mlir/Dialect/EmitC/IR/EmitCTypes.td +++ b/mlir/include/mlir/Dialect/EmitC/IR/EmitCTypes.td @@ -22,8 +22,8 @@ include "mlir/IR/BuiltinTypeInterfaces.td" // EmitC type definitions //===----------------------------------------------------------------------===// -def Valid_EmitC_Type : Type, - "EmitC dialect type">; +def EmitCType : Type, + "type supported by EmitC">; def EmitCIntegerType : Type, "integer type supported by EmitC">; diff --git a/mlir/lib/Dialect/EmitC/IR/EmitC.cpp b/mlir/lib/Dialect/EmitC/IR/EmitC.cpp index 079d8d48579b98..e633007f138408 100644 --- a/mlir/lib/Dialect/EmitC/IR/EmitC.cpp +++ b/mlir/lib/Dialect/EmitC/IR/EmitC.cpp @@ -58,16 +58,16 @@ void mlir::emitc::buildTerminatedBody(OpBuilder &builder, Location loc) { builder.create(loc); } -bool mlir::emitc::isValidEmitCType(Type type) { +bool mlir::emitc::isSupportedEmitCType(Type type) { if (isa(type)) { return true; } if (auto ptrType = dyn_cast(type)) { - return isValidEmitCType(ptrType.getPointee()); + return isSupportedEmitCType(ptrType.getPointee()); } if (auto arrayType = llvm::dyn_cast(type)) { auto elemType = arrayType.getElementType(); - return !isa(elemType) && isValidEmitCType(elemType); + return !isa(elemType) && isSupportedEmitCType(elemType); } if (type.isIndex()) { return true; @@ -86,11 +86,11 @@ bool mlir::emitc::isValidEmitCType(Type type) { if (isa(elemType)) { return false; } - return isValidEmitCType(elemType); + return isSupportedEmitCType(elemType); } if (auto tupleType = llvm::dyn_cast(type)) { return llvm::all_of(tupleType.getTypes(), [](Type type) { - return !isa(type) && isValidEmitCType(type); + return !isa(type) && isSupportedEmitCType(type); }); } return false;