diff --git a/flang/include/flang/Optimizer/Dialect/FIROps.td b/flang/include/flang/Optimizer/Dialect/FIROps.td --- a/flang/include/flang/Optimizer/Dialect/FIROps.td +++ b/flang/include/flang/Optimizer/Dialect/FIROps.td @@ -2576,7 +2576,7 @@ is `!fir.tdesc`. ```mlir - !T = type !fir.type + !T = !fir.type %t = fir.gentypedesc !T // returns value of !fir.tdesc ``` }]; diff --git a/flang/test/Fir/affine-promotion.fir b/flang/test/Fir/affine-promotion.fir --- a/flang/test/Fir/affine-promotion.fir +++ b/flang/test/Fir/affine-promotion.fir @@ -2,7 +2,7 @@ // RUN: fir-opt --split-input-file --promote-to-affine --affine-loop-invariant-code-motion --cse %s | FileCheck %s -!arr_d1 = type !fir.ref> +!arr_d1 = !fir.ref> #arr_len = affine_map<()[j1,k1] -> (k1 - j1 + 1)> func.func @loop_with_load_and_store(%a1: !arr_d1, %a2: !arr_d1, %a3: !arr_d1) { @@ -75,7 +75,7 @@ // ----- -!arr_d1 = type !fir.ref> +!arr_d1 = !fir.ref> #arr_len = affine_map<()[j1,k1] -> (k1 - j1 + 1)> func.func @loop_with_if(%a: !arr_d1, %v: f32) { diff --git a/flang/test/Fir/array-value-copy-3.fir b/flang/test/Fir/array-value-copy-3.fir --- a/flang/test/Fir/array-value-copy-3.fir +++ b/flang/test/Fir/array-value-copy-3.fir @@ -6,7 +6,7 @@ // RUN: fir-opt --array-value-copy %s | FileCheck %s -!t_with_alloc_comp = type !fir.type>>}> +!t_with_alloc_comp = !fir.type>>}> func.func private @custom_assign(!fir.ref, !fir.ref) func.func @test_overlap_with_alloc_components(%arg0: !fir.ref>) { %0 = fir.alloca !fir.box diff --git a/flang/test/Fir/ignore-missing-type-descriptor.fir b/flang/test/Fir/ignore-missing-type-descriptor.fir --- a/flang/test/Fir/ignore-missing-type-descriptor.fir +++ b/flang/test/Fir/ignore-missing-type-descriptor.fir @@ -4,7 +4,7 @@ // Missing derived type descriptor pointers are replaced by null pointers. // RUN: tco --ignore-missing-type-desc -o - %s | FileCheck %s -!some_freestyle_type = type !fir.type +!some_freestyle_type = !fir.type func.func private @bar(!fir.box) diff --git a/flang/test/Fir/recursive-type.fir b/flang/test/Fir/recursive-type.fir --- a/flang/test/Fir/recursive-type.fir +++ b/flang/test/Fir/recursive-type.fir @@ -5,10 +5,10 @@ // RUN: fir-opt --fir-to-llvm-ir="target=i386-unknown-linux-gnu" %s | FileCheck %s // RUN: fir-opt --fir-to-llvm-ir="target=powerpc64le-unknown-linux-gn" %s | FileCheck %s -!t1 = type !fir.type>}> -!t2 = type !fir.type>,b3:i32,b4:!fir.ptr>}> -!t3 = type !fir.type>}> -!t4 = type !fir.type>}> +!t1 = !fir.type>}> +!t2 = !fir.type>,b3:i32,b4:!fir.ptr>}> +!t3 = !fir.type>}> +!t4 = !fir.type>}> // CHECK-LABEL: llvm.func @recursiveTypes // CHECK-SAME: %{{.*}}: !llvm.struct<"[[T1:.*]]", (ptr>)> diff --git a/mlir/docs/LangRef.md b/mlir/docs/LangRef.md --- a/mlir/docs/LangRef.md +++ b/mlir/docs/LangRef.md @@ -657,7 +657,7 @@ ### Type Aliases ``` -type-alias-def ::= '!' alias-name '=' 'type' type +type-alias-def ::= '!' alias-name '=' type type-alias ::= '!' alias-name ``` @@ -669,7 +669,7 @@ Example: ```mlir -!avx_m128 = type vector<4 x f32> +!avx_m128 = vector<4 x f32> // Using the original type. "foo"(%x) : vector<4 x f32> -> () diff --git a/mlir/docs/TargetLLVMIR.md b/mlir/docs/TargetLLVMIR.md --- a/mlir/docs/TargetLLVMIR.md +++ b/mlir/docs/TargetLLVMIR.md @@ -367,8 +367,7 @@ // Gets converted to the following // (using type alias for brevity): -!llvm.memref_1d = type !llvm.struct<(ptr, ptr, i64, - array<1xi64>, array<1xi64>)> +!llvm.memref_1d = !llvm.struct<(ptr, ptr, i64, array<1xi64>, array<1xi64>)> llvm.func @foo(%arg0: !llvm.ptr, // Allocated pointer. %arg1: !llvm.ptr, // Aligned pointer. @@ -398,8 +397,7 @@ // Gets converted to the following // (using type alias for brevity): -!llvm.memref_1d = type !llvm.struct<(ptr, ptr, i64, - array<1xi64>, array<1xi64>)> +!llvm.memref_1d = !llvm.struct<(ptr, ptr, i64, array<1xi64>, array<1xi64>)> llvm.func @bar() { %0 = "get"() : () -> !llvm.memref_1d @@ -619,8 +617,7 @@ // Gets converted into the following // (using type alias for brevity): -!llvm.memref_2d = type !llvm.struct<(ptr, ptr, i64, - array<2xi64>, array<2xi64>)> +!llvm.memref_2d = !llvm.struct<(ptr, ptr, i64, array<2xi64>, array<2xi64>)> // Function with unpacked arguments. llvm.func @qux(%arg0: !llvm.ptr, %arg1: !llvm.ptr, @@ -665,10 +662,8 @@ // Gets converted into the following // (using type alias for brevity): -!llvm.memref_2d = type !llvm.struct<(ptr, ptr, i64, - array<2xi64>, array<2xi64>)> -!llvm.memref_2d_ptr = type !llvm.ptr, ptr, i64, - array<2xi64>, array<2xi64>)>> +!llvm.memref_2d = !llvm.struct<(ptr, ptr, i64, array<2xi64>, array<2xi64>)> +!llvm.memref_2d_ptr = !llvm.ptr, ptr, i64, array<2xi64>, array<2xi64>)>> // Function with unpacked arguments. llvm.func @foo(%arg0: !llvm.ptr, %arg1: !llvm.ptr, @@ -704,10 +699,8 @@ // Gets converted into the following // (using type alias for brevity): -!llvm.memref_2d = type !llvm.struct<(ptr, ptr, i64, - array<2xi64>, array<2xi64>)> -!llvm.memref_2d_ptr = type !llvm.ptr, ptr, i64, - array<2xi64>, array<2xi64>)>> +!llvm.memref_2d = !llvm.struct<(ptr, ptr, i64, array<2xi64>, array<2xi64>)> +!llvm.memref_2d_ptr = !llvm.ptr, ptr, i64, array<2xi64>, array<2xi64>)>> // Function with unpacked arguments. llvm.func @foo(%arg0: !llvm.ptr, %arg1: !llvm.ptr, %arg2: i64, diff --git a/mlir/lib/IR/AsmPrinter.cpp b/mlir/lib/IR/AsmPrinter.cpp --- a/mlir/lib/IR/AsmPrinter.cpp +++ b/mlir/lib/IR/AsmPrinter.cpp @@ -822,7 +822,7 @@ } for (const auto &it : llvm::make_filter_range(typeToAlias, filterFn)) { it.second.print(os << '!'); - os << " = type " << it.first << newLine; + os << " = " << it.first << newLine; } } diff --git a/mlir/lib/Parser/Parser.cpp b/mlir/lib/Parser/Parser.cpp --- a/mlir/lib/Parser/Parser.cpp +++ b/mlir/lib/Parser/Parser.cpp @@ -2105,7 +2105,7 @@ /// Parse a type alias declaration. /// -/// type-alias-def ::= '!' alias-name `=` 'type' type +/// type-alias-def ::= '!' alias-name `=` type /// ParseResult TopLevelOperationParser::parseTypeAliasDef() { assert(getToken().is(Token::exclamation_identifier)); @@ -2119,12 +2119,10 @@ if (aliasName.contains('.')) return emitError("type names with a '.' are reserved for " "dialect-defined names"); - consumeToken(Token::exclamation_identifier); - // Parse the '=' and 'type'. - if (parseToken(Token::equal, "expected '=' in type alias definition") || - parseToken(Token::kw_type, "expected 'type' in type alias definition")) + // Parse the '='. + if (parseToken(Token::equal, "expected '=' in type alias definition")) return failure(); // Parse the type. diff --git a/mlir/test/Conversion/FuncToLLVM/func-memref.mlir b/mlir/test/Conversion/FuncToLLVM/func-memref.mlir --- a/mlir/test/Conversion/FuncToLLVM/func-memref.mlir +++ b/mlir/test/Conversion/FuncToLLVM/func-memref.mlir @@ -101,7 +101,7 @@ // ----- -!base_type = type memref<64xi32, 201> +!base_type = memref<64xi32, 201> // CHECK-LABEL: func @loop_carried // BAREPTR-LABEL: func @loop_carried diff --git a/mlir/test/Dialect/LLVMIR/types.mlir b/mlir/test/Dialect/LLVMIR/types.mlir --- a/mlir/test/Dialect/LLVMIR/types.mlir +++ b/mlir/test/Dialect/LLVMIR/types.mlir @@ -197,10 +197,10 @@ // DialectAsmPrinter to have a mechanism for querying the presence and // usability of an alias outside of its `printType` method. -!baz = type i64 -!qux = type !llvm.struct<(!baz)> +!baz = i64 +!qux = !llvm.struct<(!baz)> -!rec = type !llvm.struct<"a", (ptr>)> +!rec = !llvm.struct<"a", (ptr>)> // CHECK: aliases llvm.func @aliases() { diff --git a/mlir/test/Dialect/Linalg/standard.mlir b/mlir/test/Dialect/Linalg/standard.mlir --- a/mlir/test/Dialect/Linalg/standard.mlir +++ b/mlir/test/Dialect/Linalg/standard.mlir @@ -37,13 +37,13 @@ library_call = "external_outerproduct_matmul" } -!vector_type_A = type vector<4xf32> -!vector_type_B = type vector<4xf32> -!vector_type_C = type vector<4x4xf32> +!vector_type_A = vector<4xf32> +!vector_type_B = vector<4xf32> +!vector_type_C = vector<4x4xf32> -!matrix_type_A = type memref -!matrix_type_B = type memref -!matrix_type_C = type memref +!matrix_type_A = memref +!matrix_type_B = memref +!matrix_type_C = memref func.func @matmul_vec_impl(%A: !matrix_type_A, %B: !matrix_type_B, %C: !matrix_type_C) { linalg.generic #matmul_trait diff --git a/mlir/test/Dialect/Quant/parse-any-invalid.mlir b/mlir/test/Dialect/Quant/parse-any-invalid.mlir --- a/mlir/test/Dialect/Quant/parse-any-invalid.mlir +++ b/mlir/test/Dialect/Quant/parse-any-invalid.mlir @@ -3,59 +3,59 @@ // ----- // Unrecognized token: missing storage type maximum // expected-error@+1 {{expected ':'}} -!qalias = type !quant.any:f32> +!qalias = !quant.any:f32> // ----- // Unrecognized token: missing closing angle bracket // expected-error@+1 {{expected '>'}} -!qalias = type !quant<"any"> +!qalias = !quant<"any"> // ----- // Unrecognized token: missing type colon // expected-error@+1 {{expected '>'}} -!qalias = type !quant.anyf32> +!qalias = !quant.anyf32> // ----- // Unrecognized storage type: illegal prefix // expected-error@+1 {{illegal storage type prefix}} -!qalias = type !quant.any:f32> +!qalias = !quant.any:f32> // ----- // Unrecognized storage type: no width // expected-error@+1 {{illegal storage type prefix}} -!qalias = type !quant.any:f32> +!qalias = !quant.any:f32> // ----- // Unrecognized storage type: storage size > 32 // expected-error@+1 {{illegal storage type size: 33}} -!qalias = type !quant.any +!qalias = !quant.any // ----- // Unrecognized storage type: storage size < 0 // expected-error@+1 {{illegal storage type size: 1024}} -!qalias = type !quant.any:f32> +!qalias = !quant.any:f32> // ----- // Unrecognized storage type: storage size // expected-error@+1 {{invalid integer width}} -!qalias = type !quant.any:f32> +!qalias = !quant.any:f32> // ----- // Illegal storage min/max: max - min < 0 // expected-error@+1 {{illegal storage min and storage max: (2:1)}} -!qalias = type !quant.any:f32> +!qalias = !quant.any:f32> // ----- // Illegal storage min/max: max - min == 0 // expected-error@+1 {{illegal storage min and storage max: (1:1)}} -!qalias = type !quant.any:f32> +!qalias = !quant.any:f32> // ----- // Illegal storage min/max: max > defaultMax // expected-error@+1 {{illegal storage type maximum: 9}} -!qalias = type !quant.any:f32> +!qalias = !quant.any:f32> // ----- // Illegal storage min/max: min < defaultMin // expected-error@+1 {{illegal storage type minimum: -9}} -!qalias = type !quant.any:f32> +!qalias = !quant.any:f32> diff --git a/mlir/test/Dialect/Quant/parse-any.mlir b/mlir/test/Dialect/Quant/parse-any.mlir --- a/mlir/test/Dialect/Quant/parse-any.mlir +++ b/mlir/test/Dialect/Quant/parse-any.mlir @@ -3,7 +3,7 @@ // ----- // CHECK-LABEL: parseFullySpecified // CHECK: !quant.any:f32> -!qalias = type !quant.any:f32> +!qalias = !quant.any:f32> func.func @parseFullySpecified() -> !qalias { %0 = "foo"() : () -> !qalias return %0 : !qalias @@ -12,7 +12,7 @@ // ----- // CHECK-LABEL: parseNoExpressedType // CHECK: !quant.any> -!qalias = type !quant.any> +!qalias = !quant.any> func.func @parseNoExpressedType() -> !qalias { %0 = "foo"() : () -> !qalias return %0 : !qalias @@ -21,7 +21,7 @@ // ----- // CHECK-LABEL: parseOnlyStorageType // CHECK: !quant.any -!qalias = type !quant.any +!qalias = !quant.any func.func @parseOnlyStorageType() -> !qalias { %0 = "foo"() : () -> !qalias return %0 : !qalias diff --git a/mlir/test/Dialect/Quant/parse-calibrated-invalid.mlir b/mlir/test/Dialect/Quant/parse-calibrated-invalid.mlir --- a/mlir/test/Dialect/Quant/parse-calibrated-invalid.mlir +++ b/mlir/test/Dialect/Quant/parse-calibrated-invalid.mlir @@ -4,25 +4,25 @@ // Unrecognized token: missing calibrated type maximum // expected-error@+2 {{calibrated values must be present}} // expected-error@+1 {{expected ':'}} -!qalias = type !quant.calibrated> +!qalias = !quant.calibrated> // ----- // Unrecognized token: missing closing angle bracket // expected-error@+1 {{expected '>'}} -!qalias = type !quant<"calibrated"> +!qalias = !quant<"calibrated"> // ----- // Unrecognized expressed type: integer type // expected-error@+2 {{invalid kind of type specified}} // expected-error@+1 {{expecting float expressed type}} -!qalias = type !quant.calibrated> +!qalias = !quant.calibrated> // ----- // Illegal storage min/max: max - min < 0 // expected-error@+1 {{illegal min and max: (1.000000e+00:-1.000000e+00)}} -!qalias = type !quant.calibrated> +!qalias = !quant.calibrated> // ----- // Illegal storage min/max: max - min == 0 // expected-error@+1 {{illegal min and max: (1.000000e+00:1.000000e+00)}} -!qalias = type !quant.calibrated> +!qalias = !quant.calibrated> diff --git a/mlir/test/Dialect/Quant/parse-calibrated.mlir b/mlir/test/Dialect/Quant/parse-calibrated.mlir --- a/mlir/test/Dialect/Quant/parse-calibrated.mlir +++ b/mlir/test/Dialect/Quant/parse-calibrated.mlir @@ -3,7 +3,7 @@ // ----- // CHECK-LABEL: parseCalibrated // CHECK: !quant.calibrated -!qalias = type !quant.calibrated> +!qalias = !quant.calibrated> func.func @parseCalibrated() -> !qalias { %0 = "foo"() : () -> !qalias return %0 : !qalias diff --git a/mlir/test/Dialect/Quant/parse-uniform-invalid.mlir b/mlir/test/Dialect/Quant/parse-uniform-invalid.mlir --- a/mlir/test/Dialect/Quant/parse-uniform-invalid.mlir +++ b/mlir/test/Dialect/Quant/parse-uniform-invalid.mlir @@ -3,120 +3,120 @@ // ----- // Invalid type. // expected-error@+1 {{unknown quantized type foobar}} -!qalias = type !quant.foobar +!qalias = !quant.foobar // ----- // Unrecognized token: illegal token // expected-error@+1 {{unknown quantized type __}} -!qalias = type !quant.__ +!qalias = !quant.__ // ----- // Unrecognized token: trailing // expected-error@+1 {{expected '>'}} -!qalias = type !quant.uniform:f32, 0.99872:127 23> +!qalias = !quant.uniform:f32, 0.99872:127 23> // ----- // Unrecognized token: missing storage type maximum // expected-error@+1 {{expected ':'}} -!qalias = type !quant.uniform:f32, 0.99872:127> +!qalias = !quant.uniform:f32, 0.99872:127> // ----- // Unrecognized token: missing closing angle bracket // expected-error@+1 {{expected '>'}} -!qalias = type !quant<"uniform"> +!qalias = !quant<"uniform"> // ----- // Unrecognized token: missing type colon // expected-error@+1 {{expected ':'}} -!qalias = type !quant.uniformf32, 0.99872:127> +!qalias = !quant.uniformf32, 0.99872:127> // ----- // Unrecognized token: missing comma // expected-error@+1 {{expected ','}} -!qalias = type !quant.uniform:f32 0.99872:127> +!qalias = !quant.uniform:f32 0.99872:127> // ----- // Unrecognized storage type: illegal prefix // expected-error@+1 {{illegal storage type prefix}} -!qalias = type !quant.uniform:f32, 0.99872:127> +!qalias = !quant.uniform:f32, 0.99872:127> // ----- // Unrecognized storage type: no width // expected-error@+1 {{illegal storage type prefix}} -!qalias = type !quant.uniform:f32, 0.99872:127> +!qalias = !quant.uniform:f32, 0.99872:127> // ----- // Unrecognized storage type: storage size > 32 // expected-error@+1 {{illegal storage type size: 33}} -!qalias = type !quant.uniform +!qalias = !quant.uniform // ----- // Unrecognized storage type: storage size < 0 // expected-error@+1 {{illegal storage type prefix}} -!qalias = type !quant.uniform:f32, 0.99872:127> +!qalias = !quant.uniform:f32, 0.99872:127> // ----- // Unrecognized storage type: storage size // expected-error@+1 {{invalid integer width}} -!qalias = type !quant.uniform:f32, 0.99872:127> +!qalias = !quant.uniform:f32, 0.99872:127> // ----- // Illegal storage min/max: max - min < 0 // expected-error@+1 {{illegal storage min and storage max: (2:1)}} -!qalias = type !quant.uniform:f32, 0.99872:127> +!qalias = !quant.uniform:f32, 0.99872:127> // ----- // Illegal storage min/max: max - min == 0 // expected-error@+1 {{illegal storage min and storage max: (1:1)}} -!qalias = type !quant.uniform:f32, 0.99872:127> +!qalias = !quant.uniform:f32, 0.99872:127> // ----- // Illegal storage min/max: max > defaultMax // expected-error@+1 {{illegal storage type maximum: 9}} -!qalias = type !quant.uniform:f32, 0.99872:127> +!qalias = !quant.uniform:f32, 0.99872:127> // ----- // Illegal storage min/max: min < defaultMin // expected-error@+1 {{illegal storage type minimum: -9}} -!qalias = type !quant.uniform:f32, 0.99872:127> +!qalias = !quant.uniform:f32, 0.99872:127> // ----- // Illegal uniform params: invalid scale // expected-error@+1 {{expected floating point literal}} -!qalias = type !quant.uniform:f32, abc:127> +!qalias = !quant.uniform:f32, abc:127> // ----- // Illegal uniform params: invalid zero point separator // expected-error@+1 {{expected '>'}} -!qalias = type !quant.uniform:f32, 0.1abc> +!qalias = !quant.uniform:f32, 0.1abc> // ----- // Illegal uniform params: missing zero point // expected-error@+1 {{expected integer value}} -!qalias = type !quant.uniform:f32, 0.1:> +!qalias = !quant.uniform:f32, 0.1:> // ----- // Illegal uniform params: invalid zero point // expected-error@+1 {{expected integer value}} -!qalias = type !quant.uniform:f32, 0.1:abc> +!qalias = !quant.uniform:f32, 0.1:abc> // ----- // Illegal expressed type: f33 // expected-error@+1 {{expected non-function type}} -!qalias = type !quant.uniform:f33, 0.99872:127> +!qalias = !quant.uniform:f33, 0.99872:127> // ----- // Illegal scale: negative // expected-error@+1 {{illegal scale: -1.000000}} -!qalias = type !quant.uniform:f32, -1.0:127> +!qalias = !quant.uniform:f32, -1.0:127> // ----- // Illegal uniform params: missing quantized dimension // expected-error@+1 {{expected integer value}} -!qalias = type !quant.uniform:f32:, {2.000000e+02:-19.987200e-01:1}> +!qalias = !quant.uniform:f32:, {2.000000e+02:-19.987200e-01:1}> // ----- // Illegal uniform params: unspecified quantized dimension, when multiple scales // provided. // expected-error@+1 {{expected floating point literal}} -!qalias = type !quant.uniform:f32, {2.000000e+02,-19.987200e-01:1}> +!qalias = !quant.uniform:f32, {2.000000e+02,-19.987200e-01:1}> diff --git a/mlir/test/Dialect/Quant/parse-uniform.mlir b/mlir/test/Dialect/Quant/parse-uniform.mlir --- a/mlir/test/Dialect/Quant/parse-uniform.mlir +++ b/mlir/test/Dialect/Quant/parse-uniform.mlir @@ -4,7 +4,7 @@ // All per-layer params specified: // [signed] storageType, storageTypeMin, storageTypeMax, expressedType, scale, zeroPoint // CHECK: !quant.uniform:f32, 9.987200e-01:127> -!qalias = type !quant.uniform:f32, 0.99872:127> +!qalias = !quant.uniform:f32, 0.99872:127> func.func @parse() -> !qalias { %0 = "foo"() : () -> !qalias return %0 : !qalias @@ -13,7 +13,7 @@ // ----- // Trailing whitespace. // CHECK: !quant.uniform:f32, 9.987200e-01:127> -!qalias = type !quant.uniform:f32, 0.99872:127 > +!qalias = !quant.uniform:f32, 0.99872:127 > func.func @parse() -> !qalias { %0 = "foo"() : () -> !qalias return %0 : !qalias @@ -23,7 +23,7 @@ // Required per-layer params specified: // [unsigned] storageType, expressedType, scale // CHECK: !quant.uniform -!qalias = type !quant.uniform +!qalias = !quant.uniform func.func @parse() -> !qalias { %0 = "foo"() : () -> !qalias return %0 : !qalias @@ -32,7 +32,7 @@ // ----- // Exponential scale (-) // CHECK: !quant.uniform -!qalias = type !quant.uniform +!qalias = !quant.uniform func.func @parse() -> !qalias { %0 = "foo"() : () -> !qalias return %0 : !qalias @@ -41,7 +41,7 @@ // ----- // Exponential scale (+) // CHECK: !quant.uniform -!qalias = type !quant.uniform +!qalias = !quant.uniform func.func @parse() -> !qalias { %0 = "foo"() : () -> !qalias return %0 : !qalias @@ -50,7 +50,7 @@ // ----- // Storage type: i16 // CHECK: !quant.uniform -!qalias = type !quant.uniform +!qalias = !quant.uniform func.func @parse() -> !qalias { %0 = "foo"() : () -> !qalias return %0 : !qalias @@ -59,7 +59,7 @@ // ----- // Storage type: u16 // CHECK: !quant.uniform -!qalias = type !quant.uniform +!qalias = !quant.uniform func.func @parse() -> !qalias { %0 = "foo"() : () -> !qalias return %0 : !qalias @@ -68,7 +68,7 @@ // ----- // Storage type: i32 // CHECK: !quant.uniform -!qalias = type !quant.uniform +!qalias = !quant.uniform func.func @parse() -> !qalias { %0 = "foo"() : () -> !qalias return %0 : !qalias @@ -77,7 +77,7 @@ // ----- // Storage type: u32 // CHECK: !quant.uniform -!qalias = type !quant.uniform +!qalias = !quant.uniform func.func @parse() -> !qalias { %0 = "foo"() : () -> !qalias return %0 : !qalias @@ -86,7 +86,7 @@ // ----- // Expressed type: f32 // CHECK: !quant.uniform -!qalias = type !quant.uniform +!qalias = !quant.uniform func.func @parse() -> !qalias { %0 = "foo"() : () -> !qalias return %0 : !qalias @@ -95,7 +95,7 @@ // ----- // Expressed type: f32 // CHECK: !quant.uniform -!qalias = type !quant.uniform +!qalias = !quant.uniform func.func @parse() -> !qalias { %0 = "foo"() : () -> !qalias return %0 : !qalias @@ -104,7 +104,7 @@ // ----- // Expressed type: f16 // CHECK: !quant.uniform -!qalias = type !quant.uniform +!qalias = !quant.uniform func.func @parse() -> !qalias { %0 = "foo"() : () -> !qalias return %0 : !qalias @@ -113,7 +113,7 @@ // ----- // Expressed type: f64 // CHECK: !quant.uniform -!qalias = type !quant.uniform +!qalias = !quant.uniform func.func @parse() -> !qalias { %0 = "foo"() : () -> !qalias return %0 : !qalias @@ -122,7 +122,7 @@ // ----- // Expressed type: bf16 // CHECK: !quant.uniform -!qalias = type !quant.uniform +!qalias = !quant.uniform func.func @parse() -> !qalias { %0 = "foo"() : () -> !qalias return %0 : !qalias @@ -131,7 +131,7 @@ // ----- // Per-axis scales and zero points (affine) // CHECK: !quant.uniform -!qalias = type !quant.uniform +!qalias = !quant.uniform func.func @parse() -> !qalias { %0 = "foo"() : () -> !qalias return %0 : !qalias @@ -140,7 +140,7 @@ // ----- // Per-axis scales and no zero points (fixedpoint) // CHECK: !quant.uniform -!qalias = type !quant.uniform +!qalias = !quant.uniform func.func @parse() -> !qalias { %0 = "foo"() : () -> !qalias return %0 : !qalias @@ -149,7 +149,7 @@ // ----- // Per-axis scales and zero points (mixed affine and fixedpoint) // CHECK: !quant.uniform -!qalias = type !quant.uniform +!qalias = !quant.uniform func.func @parse() -> !qalias { %0 = "foo"() : () -> !qalias return %0 : !qalias diff --git a/mlir/test/IR/invalid-unregistered.mlir b/mlir/test/IR/invalid-unregistered.mlir --- a/mlir/test/IR/invalid-unregistered.mlir +++ b/mlir/test/IR/invalid-unregistered.mlir @@ -11,4 +11,4 @@ // ----- // expected-error @below {{type created with unregistered dialect}} -!type = type !unregistered_dialect.type +!type = !unregistered_dialect.type diff --git a/mlir/test/IR/invalid.mlir b/mlir/test/IR/invalid.mlir --- a/mlir/test/IR/invalid.mlir +++ b/mlir/test/IR/invalid.mlir @@ -881,20 +881,16 @@ // ----- -!missing_eq_alias type i32 // expected-error {{expected '=' in type alias definition}} +!missing_eq_alias i32 // expected-error {{expected '=' in type alias definition}} // ----- -!missing_kw_type_alias = i32 // expected-error {{expected 'type' in type alias definition}} +!missing_type_alias = // expected-error {{expected non-function type}} // ----- -!missing_type_alias = type // expected-error {{expected non-function type}} - -// ----- - -!redef_alias = type i32 -!redef_alias = type i32 // expected-error {{redefinition of type alias id 'redef_alias'}} +!redef_alias = i32 +!redef_alias = i32 // expected-error {{redefinition of type alias id 'redef_alias'}} // ----- diff --git a/mlir/test/IR/parser.mlir b/mlir/test/IR/parser.mlir --- a/mlir/test/IR/parser.mlir +++ b/mlir/test/IR/parser.mlir @@ -832,7 +832,7 @@ } // CHECK-LABEL: func @type_alias() -> i32 { -!i32_type_alias = type i32 +!i32_type_alias = i32 func.func @type_alias() -> !i32_type_alias { // Return a non-aliased i32 type. diff --git a/mlir/test/IR/print-attr-type-aliases.mlir b/mlir/test/IR/print-attr-type-aliases.mlir --- a/mlir/test/IR/print-attr-type-aliases.mlir +++ b/mlir/test/IR/print-attr-type-aliases.mlir @@ -15,16 +15,16 @@ // CHECK-DAG: #test_alias_conflict0_1 = "alias_test:sanitize_conflict_b" "test.op"() {alias_test = ["alias_test:sanitize_conflict_a", "alias_test:sanitize_conflict_b"]} : () -> () -// CHECK-DAG: !tuple = type tuple +// CHECK-DAG: !tuple = tuple "test.op"() {alias_test = "alias_test:large_tuple"} : () -> (tuple) -// CHECK-DAG: !test_tuple = type tuple +// CHECK-DAG: !test_tuple = tuple "test.op"() {alias_test = "alias_test:large_tuple"} : () -> (tuple) // CHECK-DAG: #test_encoding = "alias_test:tensor_encoding" // CHECK-DAG: tensor<32xf32, #test_encoding> "test.op"() : () -> tensor<32xf32, "alias_test:tensor_encoding"> -// CHECK-DAG: !test_ui8_ = type !test.int +// CHECK-DAG: !test_ui8_ = !test.int // CHECK-DAG: tensor<32x!test_ui8_> "test.op"() : () -> tensor<32x!test.int> diff --git a/mlir/test/Integration/Dialect/Linalg/CPU/benchmark_matmul.mlir b/mlir/test/Integration/Dialect/Linalg/CPU/benchmark_matmul.mlir --- a/mlir/test/Integration/Dialect/Linalg/CPU/benchmark_matmul.mlir +++ b/mlir/test/Integration/Dialect/Linalg/CPU/benchmark_matmul.mlir @@ -15,12 +15,12 @@ // RUN: tee -a /dev/stderr | FileCheck %s -!elem_type_a = type f32 -!elem_type_b = type f32 -!elem_type_c = type f32 -!row_major_A = type memref<${M}x${K}x!elem_type_a> -!row_major_B = type memref<${K}x${N}x!elem_type_b> -!row_major_C = type memref<${M}x${N}x!elem_type_c> +!elem_type_a = f32 +!elem_type_b = f32 +!elem_type_c = f32 +!row_major_A = memref<${M}x${K}x!elem_type_a> +!row_major_B = memref<${K}x${N}x!elem_type_b> +!row_major_C = memref<${M}x${N}x!elem_type_c> func.func @matmul(%a: !row_major_A, %b: !row_major_B, %c: !row_major_C) // TODO: activate manually for now. diff --git a/mlir/test/Integration/Dialect/SparseTensor/CPU/dense_output.mlir b/mlir/test/Integration/Dialect/SparseTensor/CPU/dense_output.mlir --- a/mlir/test/Integration/Dialect/SparseTensor/CPU/dense_output.mlir +++ b/mlir/test/Integration/Dialect/SparseTensor/CPU/dense_output.mlir @@ -5,7 +5,7 @@ // RUN: -shared-libs=%mlir_integration_test_dir/libmlir_c_runner_utils%shlibext | \ // RUN: FileCheck %s -!Filename = type !llvm.ptr +!Filename = !llvm.ptr #DenseMatrix = #sparse_tensor.encoding<{ dimLevelType = [ "dense", "dense" ], diff --git a/mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_flatten.mlir b/mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_flatten.mlir --- a/mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_flatten.mlir +++ b/mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_flatten.mlir @@ -14,7 +14,7 @@ // RUN: -shared-libs=%mlir_integration_test_dir/libmlir_c_runner_utils%shlibext | \ // RUN: FileCheck %s -!Filename = type !llvm.ptr +!Filename = !llvm.ptr #SparseTensor = #sparse_tensor.encoding<{ dimLevelType = [ "compressed", "compressed", "compressed", "compressed", diff --git a/mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_matvec.mlir b/mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_matvec.mlir --- a/mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_matvec.mlir +++ b/mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_matvec.mlir @@ -15,7 +15,7 @@ // RUN: -shared-libs=%mlir_integration_test_dir/libmlir_c_runner_utils%shlibext | \ // RUN: FileCheck %s -!Filename = type !llvm.ptr +!Filename = !llvm.ptr #SparseMatrix = #sparse_tensor.encoding<{ dimLevelType = [ "dense", "compressed" ], diff --git a/mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_mttkrp.mlir b/mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_mttkrp.mlir --- a/mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_mttkrp.mlir +++ b/mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_mttkrp.mlir @@ -14,7 +14,7 @@ // RUN: -shared-libs=%mlir_integration_test_dir/libmlir_c_runner_utils%shlibext | \ // RUN: FileCheck %s -!Filename = type !llvm.ptr +!Filename = !llvm.ptr #SparseTensor = #sparse_tensor.encoding<{ dimLevelType = [ "compressed", "compressed", "compressed" ] diff --git a/mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_out_simple.mlir b/mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_out_simple.mlir --- a/mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_out_simple.mlir +++ b/mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_out_simple.mlir @@ -14,7 +14,7 @@ // RUN: -shared-libs=%mlir_integration_test_dir/libmlir_c_runner_utils%shlibext | \ // RUN: FileCheck %s -!Filename = type !llvm.ptr +!Filename = !llvm.ptr #DCSR = #sparse_tensor.encoding<{ dimLevelType = [ "compressed", "compressed" ], diff --git a/mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sampled_matmul.mlir b/mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sampled_matmul.mlir --- a/mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sampled_matmul.mlir +++ b/mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sampled_matmul.mlir @@ -16,7 +16,7 @@ // RUN: FileCheck %s // -!Filename = type !llvm.ptr +!Filename = !llvm.ptr #SparseMatrix = #sparse_tensor.encoding<{ dimLevelType = [ "compressed", "compressed" ], diff --git a/mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_spmm.mlir b/mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_spmm.mlir --- a/mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_spmm.mlir +++ b/mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_spmm.mlir @@ -14,7 +14,7 @@ // RUN: -shared-libs=%mlir_integration_test_dir/libmlir_c_runner_utils%shlibext | \ // RUN: FileCheck %s -!Filename = type !llvm.ptr +!Filename = !llvm.ptr #SparseMatrix = #sparse_tensor.encoding<{ dimLevelType = [ "dense", "compressed" ] diff --git a/mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sum.mlir b/mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sum.mlir --- a/mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sum.mlir +++ b/mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sum.mlir @@ -14,7 +14,7 @@ // RUN: -shared-libs=%mlir_integration_test_dir/libmlir_c_runner_utils%shlibext | \ // RUN: FileCheck %s -!Filename = type !llvm.ptr +!Filename = !llvm.ptr #SparseMatrix = #sparse_tensor.encoding<{ dimLevelType = [ "compressed", "compressed" ] diff --git a/mlir/test/Integration/Dialect/SparseTensor/taco/tools/mlir_pytaco_utils.py b/mlir/test/Integration/Dialect/SparseTensor/taco/tools/mlir_pytaco_utils.py --- a/mlir/test/Integration/Dialect/SparseTensor/taco/tools/mlir_pytaco_utils.py +++ b/mlir/test/Integration/Dialect/SparseTensor/taco/tools/mlir_pytaco_utils.py @@ -247,7 +247,7 @@ # Return the MLIR text kernel. return f""" -!Ptr = type !llvm.ptr +!Ptr = !llvm.ptr #enc = #sparse_tensor.encoding<{{ dimLevelType = [ {sparsity} ] }}> @@ -323,7 +323,7 @@ # Return the MLIR text kernel. return f""" -!Ptr = type !llvm.ptr +!Ptr = !llvm.ptr #enc = #sparse_tensor.encoding<{{ dimLevelType = [ {sparsity} ] }}> diff --git a/mlir/test/Integration/Dialect/Vector/CPU/test-outerproduct-f32.mlir b/mlir/test/Integration/Dialect/Vector/CPU/test-outerproduct-f32.mlir --- a/mlir/test/Integration/Dialect/Vector/CPU/test-outerproduct-f32.mlir +++ b/mlir/test/Integration/Dialect/Vector/CPU/test-outerproduct-f32.mlir @@ -3,15 +3,15 @@ // RUN: -shared-libs=%mlir_integration_test_dir/libmlir_c_runner_utils%shlibext | \ // RUN: FileCheck %s -!vector_type_A = type vector<8xf32> -!vector_type_B = type vector<8xf32> -!vector_type_C = type vector<8x8xf32> +!vector_type_A = vector<8xf32> +!vector_type_B = vector<8xf32> +!vector_type_C = vector<8x8xf32> -!vector_type_X = type vector<2xf32> -!vector_type_Y = type vector<3xf32> -!vector_type_Z = type vector<2x3xf32> +!vector_type_X = vector<2xf32> +!vector_type_Y = vector<3xf32> +!vector_type_Z = vector<2x3xf32> -!vector_type_R = type vector<7xf32> +!vector_type_R = vector<7xf32> func.func @vector_outerproduct_splat_8x8(%fa: f32, %fb: f32, %fc: f32) -> !vector_type_C { %a = vector.splat %fa: !vector_type_A diff --git a/mlir/test/Integration/Dialect/Vector/CPU/test-outerproduct-i64.mlir b/mlir/test/Integration/Dialect/Vector/CPU/test-outerproduct-i64.mlir --- a/mlir/test/Integration/Dialect/Vector/CPU/test-outerproduct-i64.mlir +++ b/mlir/test/Integration/Dialect/Vector/CPU/test-outerproduct-i64.mlir @@ -3,15 +3,15 @@ // RUN: -shared-libs=%mlir_integration_test_dir/libmlir_c_runner_utils%shlibext | \ // RUN: FileCheck %s -!vector_type_A = type vector<8xi64> -!vector_type_B = type vector<8xi64> -!vector_type_C = type vector<8x8xi64> +!vector_type_A = vector<8xi64> +!vector_type_B = vector<8xi64> +!vector_type_C = vector<8x8xi64> -!vector_type_X = type vector<2xi64> -!vector_type_Y = type vector<3xi64> -!vector_type_Z = type vector<2x3xi64> +!vector_type_X = vector<2xi64> +!vector_type_Y = vector<3xi64> +!vector_type_Z = vector<2x3xi64> -!vector_type_R = type vector<7xi64> +!vector_type_R = vector<7xi64> func.func @vector_outerproduct_splat_8x8(%ia: i64, %ib: i64, %ic: i64) -> !vector_type_C { %a = vector.splat %ia: !vector_type_A diff --git a/mlir/test/mlir-cpu-runner/utils.mlir b/mlir/test/mlir-cpu-runner/utils.mlir --- a/mlir/test/mlir-cpu-runner/utils.mlir +++ b/mlir/test/mlir-cpu-runner/utils.mlir @@ -51,8 +51,8 @@ func.func private @printMemrefF32(memref<*xf32>) attributes { llvm.emit_c_interface } -!vector_type_C = type vector<4x4xf32> -!matrix_type_CC = type memref<1x1x!vector_type_C> +!vector_type_C = vector<4x4xf32> +!matrix_type_CC = memref<1x1x!vector_type_C> func.func @vector_splat_2d() { %c0 = arith.constant 0 : index %f10 = arith.constant 10.0 : f32 diff --git a/mlir/utils/tree-sitter-mlir/grammar.js b/mlir/utils/tree-sitter-mlir/grammar.js --- a/mlir/utils/tree-sitter-mlir/grammar.js +++ b/mlir/utils/tree-sitter-mlir/grammar.js @@ -161,9 +161,9 @@ choice($.type, $.type_list_parens)), // Type aliases - // type-alias-def ::= '!' alias-name '=' 'type' type + // type-alias-def ::= '!' alias-name '=' type // type-alias ::= '!' alias-name - type_alias_def : $ => seq('!', $.alias_name, '=', 'type', $.type), + type_alias_def : $ => seq('!', $.alias_name, '=', $.type), type_alias : $ => seq('!', $.alias_name), // Dialect Types