diff --git a/mlir/include/mlir/Dialect/SPIRV/IR/SPIRVStructureOps.td b/mlir/include/mlir/Dialect/SPIRV/IR/SPIRVStructureOps.td --- a/mlir/include/mlir/Dialect/SPIRV/IR/SPIRVStructureOps.td +++ b/mlir/include/mlir/Dialect/SPIRV/IR/SPIRVStructureOps.td @@ -350,30 +350,30 @@ ``` variable-op ::= `spv.GlobalVariable` spirv-type symbol-ref-id - (`initializer(` symbol-ref-id `)`)? + (`init=` symbol-ref-id)? (`bind(` integer-literal, integer-literal `)`)? (`built_in(` string-literal `)`)? attribute-dict? ``` - where `initializer` specifies initializer and `bind` specifies the + where `init` specifies initializer and `bind` specifies the descriptor set and binding number. `built_in` specifies SPIR-V BuiltIn decoration associated with the op. #### Example: ```mlir - spv.GlobalVariable @var0 : !spv.ptr @var0 - spv.GlobalVariable @var1 initializer(@var0) : !spv.ptr - spv.GlobalVariable @var2 bind(1, 2) : !spv.ptr - spv.GlobalVariable @var3 built_in("GlobalInvocationId") : !spv.ptr, Input> + spv.GlobalVariable @var0 -> !spv.ptr @var0 + spv.GlobalVariable @var1 init=@var0 -> !spv.ptr + spv.GlobalVariable @var2 bind(1, 2) -> !spv.ptr + spv.GlobalVariable @var3 built_in("GlobalInvocationId") -> !spv.ptr, Input> ``` }]; let arguments = (ins TypeAttr:$type, StrAttr:$sym_name, - OptionalAttr:$initializer + OptionalAttr:$init ); let results = (outs); diff --git a/mlir/lib/Conversion/SPIRVToLLVM/SPIRVToLLVM.cpp b/mlir/lib/Conversion/SPIRVToLLVM/SPIRVToLLVM.cpp --- a/mlir/lib/Conversion/SPIRVToLLVM/SPIRVToLLVM.cpp +++ b/mlir/lib/Conversion/SPIRVToLLVM/SPIRVToLLVM.cpp @@ -720,7 +720,7 @@ ConversionPatternRewriter &rewriter) const override { // Currently, there is no support of initialization with a constant value in // SPIR-V dialect. Specialization constants are not considered as well. - if (op.initializer()) + if (op.init()) return failure(); auto srcType = op.type().cast(); diff --git a/mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp b/mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp --- a/mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp +++ b/mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp @@ -49,7 +49,7 @@ static constexpr const char kFnNameAttrName[] = "fn"; static constexpr const char kGroupOperationAttrName[] = "group_operation"; static constexpr const char kIndicesAttrName[] = "indices"; -static constexpr const char kInitializerAttrName[] = "initializer"; +static constexpr const char kInitializerAttrName[] = "init"; static constexpr const char kInterfaceAttrName[] = "interface"; static constexpr const char kMemoryScopeAttrName[] = "memory_scope"; static constexpr const char kSemanticsAttrName[] = "semantics"; @@ -1997,10 +1997,9 @@ // Parse optional initializer if (succeeded(parser.parseOptionalKeyword(kInitializerAttrName))) { FlatSymbolRefAttr initSymbol; - if (parser.parseLParen() || + if (parser.parseEqual() || parser.parseAttribute(initSymbol, Type(), kInitializerAttrName, - state.attributes) || - parser.parseRParen()) + state.attributes)) return failure(); } @@ -2010,7 +2009,7 @@ Type type; auto loc = parser.getCurrentLocation(); - if (parser.parseColonType(type)) { + if (parser.parseArrow() || parser.parseType(type)) { return failure(); } if (!type.isa()) { @@ -2033,16 +2032,15 @@ elidedAttrs.push_back(SymbolTable::getSymbolAttrName()); // Print optional initializer - if (auto initializer = varOp.initializer()) { - printer << " " << kInitializerAttrName << '('; + if (auto initializer = varOp.init()) { + printer << " " << kInitializerAttrName << '='; printer.printSymbolName(initializer.getValue()); - printer << ')'; elidedAttrs.push_back(kInitializerAttrName); } elidedAttrs.push_back(kTypeAttrName); printVariableDecorations(op, printer, elidedAttrs); - printer << " : " << varOp.type(); + printer << " -> " << varOp.type(); } static LogicalResult verify(spirv::GlobalVariableOp varOp) { diff --git a/mlir/lib/Target/SPIRV/Serialization/SerializeOps.cpp b/mlir/lib/Target/SPIRV/Serialization/SerializeOps.cpp --- a/mlir/lib/Target/SPIRV/Serialization/SerializeOps.cpp +++ b/mlir/lib/Target/SPIRV/Serialization/SerializeOps.cpp @@ -345,20 +345,19 @@ operands.push_back(static_cast(varOp.storageClass())); // Encode initialization. - if (auto initializer = varOp.initializer()) { + if (auto initializer = varOp.init()) { auto initializerID = getVariableID(initializer.getValue()); if (!initializerID) { return emitError(varOp.getLoc(), "invalid usage of undefined variable as initializer"); } operands.push_back(initializerID); - elidedAttrs.push_back("initializer"); + elidedAttrs.push_back("init"); } (void)emitDebugLine(typesGlobalValues, varOp.getLoc()); if (failed(encodeInstructionInto(typesGlobalValues, spirv::Opcode::OpVariable, operands))) { - elidedAttrs.push_back("initializer"); return failure(); } diff --git a/mlir/test/Conversion/GPUToSPIRV/load-store.mlir b/mlir/test/Conversion/GPUToSPIRV/load-store.mlir --- a/mlir/test/Conversion/GPUToSPIRV/load-store.mlir +++ b/mlir/test/Conversion/GPUToSPIRV/load-store.mlir @@ -24,9 +24,9 @@ // CHECK-LABEL: spv.module @{{.*}} Logical GLSL450 gpu.module @kernels { - // CHECK-DAG: spv.GlobalVariable @[[NUMWORKGROUPSVAR:.*]] built_in("NumWorkgroups") : !spv.ptr, Input> - // CHECK-DAG: spv.GlobalVariable @[[$LOCALINVOCATIONIDVAR:.*]] built_in("LocalInvocationId") : !spv.ptr, Input> - // CHECK-DAG: spv.GlobalVariable @[[$WORKGROUPIDVAR:.*]] built_in("WorkgroupId") : !spv.ptr, Input> + // CHECK-DAG: spv.GlobalVariable @[[NUMWORKGROUPSVAR:.*]] built_in("NumWorkgroups") -> !spv.ptr, Input> + // CHECK-DAG: spv.GlobalVariable @[[$LOCALINVOCATIONIDVAR:.*]] built_in("LocalInvocationId") -> !spv.ptr, Input> + // CHECK-DAG: spv.GlobalVariable @[[$WORKGROUPIDVAR:.*]] built_in("WorkgroupId") -> !spv.ptr, Input> // CHECK-LABEL: spv.func @load_store_kernel // CHECK-SAME: %[[ARG0:.*]]: !spv.ptr [0])>, StorageBuffer> {spv.interface_var_abi = #spv.interface_var_abi<(0, 0)>} // CHECK-SAME: %[[ARG1:.*]]: !spv.ptr [0])>, StorageBuffer> {spv.interface_var_abi = #spv.interface_var_abi<(0, 1)>} diff --git a/mlir/test/Conversion/GPUToVulkan/lower-gpu-launch-vulkan-launch.mlir b/mlir/test/Conversion/GPUToVulkan/lower-gpu-launch-vulkan-launch.mlir --- a/mlir/test/Conversion/GPUToVulkan/lower-gpu-launch-vulkan-launch.mlir +++ b/mlir/test/Conversion/GPUToVulkan/lower-gpu-launch-vulkan-launch.mlir @@ -6,7 +6,7 @@ module attributes {gpu.container_module} { spv.module Logical GLSL450 requires #spv.vce { - spv.GlobalVariable @kernel_arg_0 bind(0, 0) : !spv.ptr [0])>, StorageBuffer> + spv.GlobalVariable @kernel_arg_0 bind(0, 0) -> !spv.ptr [0])>, StorageBuffer> spv.func @kernel() "None" attributes {workgroup_attributions = 0 : i64} { %0 = spv.mlir.addressof @kernel_arg_0 : !spv.ptr [0])>, StorageBuffer> %2 = spv.Constant 0 : i32 diff --git a/mlir/test/Conversion/SPIRVToLLVM/lower-host-to-llvm-calls.mlir b/mlir/test/Conversion/SPIRVToLLVM/lower-host-to-llvm-calls.mlir --- a/mlir/test/Conversion/SPIRVToLLVM/lower-host-to-llvm-calls.mlir +++ b/mlir/test/Conversion/SPIRVToLLVM/lower-host-to-llvm-calls.mlir @@ -6,7 +6,7 @@ // CHECK: llvm.func @__spv__foo_bar() // CHECK: spv.module @__spv__foo - // CHECK: spv.GlobalVariable @bar_arg_0 bind(0, 0) : !spv.ptr [0])>, StorageBuffer> + // CHECK: spv.GlobalVariable @bar_arg_0 bind(0, 0) -> !spv.ptr [0])>, StorageBuffer> // CHECK: spv.func @__spv__foo_bar // CHECK: spv.EntryPoint "GLCompute" @__spv__foo_bar @@ -22,7 +22,7 @@ // CHECK-NEXT: "llvm.intr.memcpy"(%[[SRC]], %[[DEST]], %[[SIZE]], %{{.*}}) : (!llvm.ptr, !llvm.ptr)>>, i64, i1) -> () spv.module @__spv__foo Logical GLSL450 requires #spv.vce { - spv.GlobalVariable @bar_arg_0 bind(0, 0) : !spv.ptr [0])>, StorageBuffer> + spv.GlobalVariable @bar_arg_0 bind(0, 0) -> !spv.ptr [0])>, StorageBuffer> spv.func @bar() "None" attributes {workgroup_attributions = 0 : i64} { %0 = spv.mlir.addressof @bar_arg_0 : !spv.ptr [0])>, StorageBuffer> spv.Return diff --git a/mlir/test/Conversion/SPIRVToLLVM/memory-ops-to-llvm.mlir b/mlir/test/Conversion/SPIRVToLLVM/memory-ops-to-llvm.mlir --- a/mlir/test/Conversion/SPIRVToLLVM/memory-ops-to-llvm.mlir +++ b/mlir/test/Conversion/SPIRVToLLVM/memory-ops-to-llvm.mlir @@ -31,14 +31,14 @@ spv.module Logical GLSL450 { // CHECK: llvm.mlir.global external constant @var() : f32 - spv.GlobalVariable @var : !spv.ptr + spv.GlobalVariable @var -> !spv.ptr } spv.module Logical GLSL450 { // CHECK: llvm.mlir.global private @struct() : !llvm.struct)> // CHECK-LABEL: @func // CHECK: llvm.mlir.addressof @struct : !llvm.ptr)>> - spv.GlobalVariable @struct : !spv.ptr)>, Private> + spv.GlobalVariable @struct -> !spv.ptr)>, Private> spv.func @func() "None" { %0 = spv.mlir.addressof @struct : !spv.ptr)>, Private> spv.Return @@ -49,7 +49,7 @@ // CHECK: llvm.mlir.global external @bar_descriptor_set0_binding0() : i32 // CHECK-LABEL: @foo // CHECK: llvm.mlir.addressof @bar_descriptor_set0_binding0 : !llvm.ptr - spv.GlobalVariable @bar bind(0, 0) : !spv.ptr + spv.GlobalVariable @bar bind(0, 0) -> !spv.ptr spv.func @foo() "None" { %0 = spv.mlir.addressof @bar : !spv.ptr spv.Return @@ -60,7 +60,7 @@ // CHECK: llvm.mlir.global external @name_bar_descriptor_set0_binding0() : i32 // CHECK-LABEL: @foo // CHECK: llvm.mlir.addressof @name_bar_descriptor_set0_binding0 : !llvm.ptr - spv.GlobalVariable @bar bind(0, 0) : !spv.ptr + spv.GlobalVariable @bar bind(0, 0) -> !spv.ptr spv.func @foo() "None" { %0 = spv.mlir.addressof @bar : !spv.ptr spv.Return diff --git a/mlir/test/Conversion/StandardToSPIRV/alloc.mlir b/mlir/test/Conversion/StandardToSPIRV/alloc.mlir --- a/mlir/test/Conversion/StandardToSPIRV/alloc.mlir +++ b/mlir/test/Conversion/StandardToSPIRV/alloc.mlir @@ -17,7 +17,7 @@ return } } -// CHECK: spv.GlobalVariable @[[VAR:.+]] : !spv.ptr)>, Workgroup> +// CHECK: spv.GlobalVariable @[[VAR:.+]] -> !spv.ptr)>, Workgroup> // CHECK: func @alloc_dealloc_workgroup_mem // CHECK-NOT: alloc // CHECK: %[[PTR:.+]] = spv.mlir.addressof @[[VAR]] diff --git a/mlir/test/Dialect/SPIRV/IR/memory-ops.mlir b/mlir/test/Dialect/SPIRV/IR/memory-ops.mlir --- a/mlir/test/Dialect/SPIRV/IR/memory-ops.mlir +++ b/mlir/test/Dialect/SPIRV/IR/memory-ops.mlir @@ -340,7 +340,7 @@ // ----- spv.module Logical GLSL450 { - spv.GlobalVariable @var0 : !spv.ptr + spv.GlobalVariable @var0 -> !spv.ptr // CHECK_LABEL: @simple_load spv.func @simple_load() -> () "None" { // CHECK: spv.Load "Input" {{%.*}} : f32 @@ -463,7 +463,7 @@ // ----- spv.module Logical GLSL450 { - spv.GlobalVariable @var0 : !spv.ptr + spv.GlobalVariable @var0 -> !spv.ptr spv.func @simple_store(%arg0 : f32) -> () "None" { %0 = spv.mlir.addressof @var0 : !spv.ptr // CHECK: spv.Store "Input" {{%.*}}, {{%.*}} : f32 @@ -496,7 +496,7 @@ // ----- spv.module Logical GLSL450 { - spv.GlobalVariable @global : !spv.ptr + spv.GlobalVariable @global -> !spv.ptr spv.func @variable_init_global_variable() -> () "None" { %0 = spv.mlir.addressof @global : !spv.ptr // CHECK: spv.Variable init({{.*}}) : !spv.ptr, Function> diff --git a/mlir/test/Dialect/SPIRV/IR/structure-ops.mlir b/mlir/test/Dialect/SPIRV/IR/structure-ops.mlir --- a/mlir/test/Dialect/SPIRV/IR/structure-ops.mlir +++ b/mlir/test/Dialect/SPIRV/IR/structure-ops.mlir @@ -5,7 +5,7 @@ //===----------------------------------------------------------------------===// spv.module Logical GLSL450 { - spv.GlobalVariable @var1 : !spv.ptr)>, Input> + spv.GlobalVariable @var1 -> !spv.ptr)>, Input> spv.func @access_chain() -> () "None" { %0 = spv.Constant 1: i32 // CHECK: [[VAR1:%.*]] = spv.mlir.addressof @var1 : !spv.ptr)>, Input> @@ -19,7 +19,7 @@ // ----- // Allow taking address of global variables in other module-like ops -spv.GlobalVariable @var : !spv.ptr)>, Input> +spv.GlobalVariable @var -> !spv.ptr)>, Input> func @addressof() -> () { // CHECK: spv.mlir.addressof @var %1 = spv.mlir.addressof @var : !spv.ptr)>, Input> @@ -29,7 +29,7 @@ // ----- spv.module Logical GLSL450 { - spv.GlobalVariable @var1 : !spv.ptr)>, Input> + spv.GlobalVariable @var1 -> !spv.ptr)>, Input> spv.func @foo() -> () "None" { // expected-error @+1 {{expected spv.GlobalVariable symbol}} %0 = spv.mlir.addressof @var2 : !spv.ptr)>, Input> @@ -39,7 +39,7 @@ // ----- spv.module Logical GLSL450 { - spv.GlobalVariable @var1 : !spv.ptr)>, Input> + spv.GlobalVariable @var1 -> !spv.ptr)>, Input> spv.func @foo() -> () "None" { // expected-error @+1 {{result type mismatch with the referenced global variable's type}} %0 = spv.mlir.addressof @var1 : !spv.ptr @@ -144,8 +144,8 @@ } spv.module Logical GLSL450 { - spv.GlobalVariable @var2 : !spv.ptr - spv.GlobalVariable @var3 : !spv.ptr + spv.GlobalVariable @var2 -> !spv.ptr + spv.GlobalVariable @var3 -> !spv.ptr spv.func @do_something(%arg0 : !spv.ptr, %arg1 : !spv.ptr) -> () "None" { %1 = spv.Load "Input" %arg0 : f32 spv.Store "Output" %arg1, %1 : f32 @@ -302,8 +302,8 @@ //===----------------------------------------------------------------------===// spv.module Logical GLSL450 { - // CHECK: spv.GlobalVariable @var0 : !spv.ptr - spv.GlobalVariable @var0 : !spv.ptr + // CHECK: spv.GlobalVariable @var0 -> !spv.ptr + spv.GlobalVariable @var0 -> !spv.ptr } // TODO: Fix test case after initialization with normal constant is addressed @@ -317,22 +317,22 @@ spv.module Logical GLSL450 { spv.SpecConstant @sc = 4.0 : f32 - // CHECK: spv.GlobalVariable @var initializer(@sc) : !spv.ptr - spv.GlobalVariable @var initializer(@sc) : !spv.ptr + // CHECK: spv.GlobalVariable @var init=@sc -> !spv.ptr + spv.GlobalVariable @var init=@sc -> !spv.ptr } // ----- // Allow initializers coming from other module-like ops spv.SpecConstant @sc = 4.0 : f32 -// CHECK: spv.GlobalVariable @var initializer(@sc) -spv.GlobalVariable @var initializer(@sc) : !spv.ptr +// CHECK: spv.GlobalVariable @var init=@sc +spv.GlobalVariable @var init=@sc -> !spv.ptr // ----- spv.module Logical GLSL450 { - // CHECK: spv.GlobalVariable @var0 bind(1, 2) : !spv.ptr - spv.GlobalVariable @var0 bind(1, 2) : !spv.ptr + // CHECK: spv.GlobalVariable @var0 bind(1, 2) -> !spv.ptr + spv.GlobalVariable @var0 bind(1, 2) -> !spv.ptr } // TODO: Fix test case after initialization with constant is addressed @@ -345,10 +345,10 @@ // ----- spv.module Logical GLSL450 { - // CHECK: spv.GlobalVariable @var1 built_in("GlobalInvocationID") : !spv.ptr, Input> - spv.GlobalVariable @var1 built_in("GlobalInvocationID") : !spv.ptr, Input> - // CHECK: spv.GlobalVariable @var2 built_in("GlobalInvocationID") : !spv.ptr, Input> - spv.GlobalVariable @var2 {built_in = "GlobalInvocationID"} : !spv.ptr, Input> + // CHECK: spv.GlobalVariable @var1 built_in("GlobalInvocationID") -> !spv.ptr, Input> + spv.GlobalVariable @var1 built_in("GlobalInvocationID") -> !spv.ptr, Input> + // CHECK: spv.GlobalVariable @var2 built_in("GlobalInvocationID") -> !spv.ptr, Input> + spv.GlobalVariable @var2 {built_in = "GlobalInvocationID"} -> !spv.ptr, Input> } // ----- @@ -356,35 +356,35 @@ // Allow in other module-like ops module { // CHECK: spv.GlobalVariable - spv.GlobalVariable @var0 : !spv.ptr + spv.GlobalVariable @var0 -> !spv.ptr } // ----- spv.module Logical GLSL450 { // expected-error @+1 {{expected spv.ptr type}} - spv.GlobalVariable @var0 : f32 + spv.GlobalVariable @var0 -> f32 } // ----- spv.module Logical GLSL450 { // expected-error @+1 {{op initializer must be result of a spv.SpecConstant or spv.GlobalVariable op}} - spv.GlobalVariable @var0 initializer(@var1) : !spv.ptr + spv.GlobalVariable @var0 init=@var1 -> !spv.ptr } // ----- spv.module Logical GLSL450 { // expected-error @+1 {{storage class cannot be 'Generic'}} - spv.GlobalVariable @var0 : !spv.ptr + spv.GlobalVariable @var0 -> !spv.ptr } // ----- spv.module Logical GLSL450 { // expected-error @+1 {{storage class cannot be 'Function'}} - spv.GlobalVariable @var0 : !spv.ptr + spv.GlobalVariable @var0 -> !spv.ptr } // ----- @@ -392,7 +392,7 @@ spv.module Logical GLSL450 { spv.func @foo() "None" { // expected-error @+1 {{op must appear in a module-like op's block}} - spv.GlobalVariable @var0 : !spv.ptr + spv.GlobalVariable @var0 -> !spv.ptr spv.Return } } diff --git a/mlir/test/Dialect/SPIRV/Linking/ModuleCombiner/conflict-resolution.mlir b/mlir/test/Dialect/SPIRV/Linking/ModuleCombiner/conflict-resolution.mlir --- a/mlir/test/Dialect/SPIRV/Linking/ModuleCombiner/conflict-resolution.mlir +++ b/mlir/test/Dialect/SPIRV/Linking/ModuleCombiner/conflict-resolution.mlir @@ -251,7 +251,7 @@ } spv.module Logical GLSL450 { - spv.GlobalVariable @foo bind(1, 0) : !spv.ptr + spv.GlobalVariable @foo bind(1, 0) -> !spv.ptr } } @@ -282,7 +282,7 @@ } spv.module Logical GLSL450 { - spv.GlobalVariable @foo bind(1, 0) : !spv.ptr + spv.GlobalVariable @foo bind(1, 0) -> !spv.ptr spv.func @bar() -> f32 "None" { %0 = spv.mlir.addressof @foo : !spv.ptr @@ -313,7 +313,7 @@ module { spv.module Logical GLSL450 { - spv.GlobalVariable @foo bind(1, 0) : !spv.ptr + spv.GlobalVariable @foo bind(1, 0) -> !spv.ptr spv.func @bar() -> f32 "None" { %0 = spv.mlir.addressof @foo : !spv.ptr @@ -589,11 +589,11 @@ module { spv.module Logical GLSL450 { - spv.GlobalVariable @foo bind(1, 0) : !spv.ptr + spv.GlobalVariable @foo bind(1, 0) -> !spv.ptr } spv.module Logical GLSL450 { - spv.GlobalVariable @foo bind(2, 0) : !spv.ptr + spv.GlobalVariable @foo bind(2, 0) -> !spv.ptr } } @@ -608,11 +608,11 @@ module { spv.module Logical GLSL450 { - spv.GlobalVariable @foo built_in("GlobalInvocationId") : !spv.ptr, Input> + spv.GlobalVariable @foo built_in("GlobalInvocationId") -> !spv.ptr, Input> } spv.module Logical GLSL450 { - spv.GlobalVariable @foo built_in("LocalInvocationId") : !spv.ptr, Input> + spv.GlobalVariable @foo built_in("LocalInvocationId") -> !spv.ptr, Input> } } @@ -629,7 +629,7 @@ module { spv.module Logical GLSL450 { - spv.GlobalVariable @foo bind(1, 0) : !spv.ptr + spv.GlobalVariable @foo bind(1, 0) -> !spv.ptr } spv.module Logical GLSL450 { @@ -654,7 +654,7 @@ } spv.module Logical GLSL450 { - spv.GlobalVariable @foo bind(1, 0) : !spv.ptr + spv.GlobalVariable @foo bind(1, 0) -> !spv.ptr } } @@ -672,7 +672,7 @@ module { spv.module Logical GLSL450 { - spv.GlobalVariable @foo bind(1, 0) : !spv.ptr + spv.GlobalVariable @foo bind(1, 0) -> !spv.ptr } spv.module Logical GLSL450 { @@ -700,6 +700,6 @@ } spv.module Logical GLSL450 { - spv.GlobalVariable @foo bind(1, 0) : !spv.ptr + spv.GlobalVariable @foo bind(1, 0) -> !spv.ptr } } diff --git a/mlir/test/Dialect/SPIRV/Linking/ModuleCombiner/deduplication.mlir b/mlir/test/Dialect/SPIRV/Linking/ModuleCombiner/deduplication.mlir --- a/mlir/test/Dialect/SPIRV/Linking/ModuleCombiner/deduplication.mlir +++ b/mlir/test/Dialect/SPIRV/Linking/ModuleCombiner/deduplication.mlir @@ -23,7 +23,7 @@ module { spv.module Logical GLSL450 { - spv.GlobalVariable @foo bind(1, 0) : !spv.ptr + spv.GlobalVariable @foo bind(1, 0) -> !spv.ptr spv.func @use_foo() -> f32 "None" { %0 = spv.mlir.addressof @foo : !spv.ptr @@ -33,7 +33,7 @@ } spv.module Logical GLSL450 { - spv.GlobalVariable @bar bind(1, 0) : !spv.ptr + spv.GlobalVariable @bar bind(1, 0) -> !spv.ptr spv.func @use_bar() -> f32 "None" { %0 = spv.mlir.addressof @bar : !spv.ptr @@ -64,11 +64,11 @@ module { spv.module Logical GLSL450 { - spv.GlobalVariable @foo bind(1, 0) : !spv.ptr + spv.GlobalVariable @foo bind(1, 0) -> !spv.ptr } spv.module Logical GLSL450 { - spv.GlobalVariable @bar bind(1, 0) : !spv.ptr + spv.GlobalVariable @bar bind(1, 0) -> !spv.ptr spv.func @use_bar() -> f32 "None" { %0 = spv.mlir.addressof @bar : !spv.ptr @@ -95,11 +95,11 @@ module { spv.module Logical GLSL450 { - spv.GlobalVariable @foo built_in("GlobalInvocationId") : !spv.ptr, Input> + spv.GlobalVariable @foo built_in("GlobalInvocationId") -> !spv.ptr, Input> } spv.module Logical GLSL450 { - spv.GlobalVariable @bar built_in("GlobalInvocationId") : !spv.ptr, Input> + spv.GlobalVariable @bar built_in("GlobalInvocationId") -> !spv.ptr, Input> spv.func @use_bar() -> vector<3xi32> "None" { %0 = spv.mlir.addressof @bar : !spv.ptr, Input> diff --git a/mlir/test/Dialect/SPIRV/Transforms/abi-interface.mlir b/mlir/test/Dialect/SPIRV/Transforms/abi-interface.mlir --- a/mlir/test/Dialect/SPIRV/Transforms/abi-interface.mlir +++ b/mlir/test/Dialect/SPIRV/Transforms/abi-interface.mlir @@ -7,8 +7,8 @@ // CHECK-LABEL: spv.module spv.module Logical GLSL450 { - // CHECK-DAG: spv.GlobalVariable [[VAR0:@.*]] bind(0, 0) : !spv.ptr, StorageBuffer> - // CHECK-DAG: spv.GlobalVariable [[VAR1:@.*]] bind(0, 1) : !spv.ptr [0])>, StorageBuffer> + // CHECK-DAG: spv.GlobalVariable [[VAR0:@.*]] bind(0, 0) -> !spv.ptr, StorageBuffer> + // CHECK-DAG: spv.GlobalVariable [[VAR1:@.*]] bind(0, 1) -> !spv.ptr [0])>, StorageBuffer> // CHECK: spv.func [[FN:@.*]]() spv.func @kernel( %arg0: f32 diff --git a/mlir/test/Dialect/SPIRV/Transforms/abi-load-store.mlir b/mlir/test/Dialect/SPIRV/Transforms/abi-load-store.mlir --- a/mlir/test/Dialect/SPIRV/Transforms/abi-load-store.mlir +++ b/mlir/test/Dialect/SPIRV/Transforms/abi-load-store.mlir @@ -8,20 +8,20 @@ // CHECK-LABEL: spv.module spv.module Logical GLSL450 { // CHECK-DAG: spv.GlobalVariable [[WORKGROUPSIZE:@.*]] built_in("WorkgroupSize") - spv.GlobalVariable @__builtin_var_WorkgroupSize__ built_in("WorkgroupSize") : !spv.ptr, Input> + spv.GlobalVariable @__builtin_var_WorkgroupSize__ built_in("WorkgroupSize") -> !spv.ptr, Input> // CHECK-DAG: spv.GlobalVariable [[NUMWORKGROUPS:@.*]] built_in("NumWorkgroups") - spv.GlobalVariable @__builtin_var_NumWorkgroups__ built_in("NumWorkgroups") : !spv.ptr, Input> + spv.GlobalVariable @__builtin_var_NumWorkgroups__ built_in("NumWorkgroups") -> !spv.ptr, Input> // CHECK-DAG: spv.GlobalVariable [[LOCALINVOCATIONID:@.*]] built_in("LocalInvocationId") - spv.GlobalVariable @__builtin_var_LocalInvocationId__ built_in("LocalInvocationId") : !spv.ptr, Input> + spv.GlobalVariable @__builtin_var_LocalInvocationId__ built_in("LocalInvocationId") -> !spv.ptr, Input> // CHECK-DAG: spv.GlobalVariable [[WORKGROUPID:@.*]] built_in("WorkgroupId") - spv.GlobalVariable @__builtin_var_WorkgroupId__ built_in("WorkgroupId") : !spv.ptr, Input> - // CHECK-DAG: spv.GlobalVariable [[VAR0:@.*]] bind(0, 0) : !spv.ptr, stride=16> [0])>, StorageBuffer> - // CHECK-DAG: spv.GlobalVariable [[VAR1:@.*]] bind(0, 1) : !spv.ptr, stride=16> [0])>, StorageBuffer> - // CHECK-DAG: spv.GlobalVariable [[VAR2:@.*]] bind(0, 2) : !spv.ptr, stride=16> [0])>, StorageBuffer> - // CHECK-DAG: spv.GlobalVariable [[VAR3:@.*]] bind(0, 3) : !spv.ptr, StorageBuffer> - // CHECK-DAG: spv.GlobalVariable [[VAR4:@.*]] bind(0, 4) : !spv.ptr, StorageBuffer> - // CHECK-DAG: spv.GlobalVariable [[VAR5:@.*]] bind(0, 5) : !spv.ptr, StorageBuffer> - // CHECK-DAG: spv.GlobalVariable [[VAR6:@.*]] bind(0, 6) : !spv.ptr, StorageBuffer> + spv.GlobalVariable @__builtin_var_WorkgroupId__ built_in("WorkgroupId") -> !spv.ptr, Input> + // CHECK-DAG: spv.GlobalVariable [[VAR0:@.*]] bind(0, 0) -> !spv.ptr, stride=16> [0])>, StorageBuffer> + // CHECK-DAG: spv.GlobalVariable [[VAR1:@.*]] bind(0, 1) -> !spv.ptr, stride=16> [0])>, StorageBuffer> + // CHECK-DAG: spv.GlobalVariable [[VAR2:@.*]] bind(0, 2) -> !spv.ptr, stride=16> [0])>, StorageBuffer> + // CHECK-DAG: spv.GlobalVariable [[VAR3:@.*]] bind(0, 3) -> !spv.ptr, StorageBuffer> + // CHECK-DAG: spv.GlobalVariable [[VAR4:@.*]] bind(0, 4) -> !spv.ptr, StorageBuffer> + // CHECK-DAG: spv.GlobalVariable [[VAR5:@.*]] bind(0, 5) -> !spv.ptr, StorageBuffer> + // CHECK-DAG: spv.GlobalVariable [[VAR6:@.*]] bind(0, 6) -> !spv.ptr, StorageBuffer> // CHECK: spv.func [[FN:@.*]]() spv.func @load_store_kernel( %arg0: !spv.ptr>)>, StorageBuffer> diff --git a/mlir/test/Dialect/SPIRV/Transforms/inlining.mlir b/mlir/test/Dialect/SPIRV/Transforms/inlining.mlir --- a/mlir/test/Dialect/SPIRV/Transforms/inlining.mlir +++ b/mlir/test/Dialect/SPIRV/Transforms/inlining.mlir @@ -33,7 +33,7 @@ // ----- spv.module Logical GLSL450 { - spv.GlobalVariable @data bind(0, 0) : !spv.ptr [0])>, StorageBuffer> + spv.GlobalVariable @data bind(0, 0) -> !spv.ptr [0])>, StorageBuffer> spv.func @callee() "None" { %0 = spv.mlir.addressof @data : !spv.ptr [0])>, StorageBuffer> %1 = spv.Constant 0: i32 @@ -184,8 +184,8 @@ // ----- spv.module Logical GLSL450 { - spv.GlobalVariable @arg_0 bind(0, 0) : !spv.ptr, StorageBuffer> - spv.GlobalVariable @arg_1 bind(0, 1) : !spv.ptr, StorageBuffer> + spv.GlobalVariable @arg_0 bind(0, 0) -> !spv.ptr, StorageBuffer> + spv.GlobalVariable @arg_1 bind(0, 1) -> !spv.ptr, StorageBuffer> // CHECK: @inline_into_selection_region spv.func @inline_into_selection_region() "None" { diff --git a/mlir/test/Dialect/SPIRV/Transforms/layout-decoration.mlir b/mlir/test/Dialect/SPIRV/Transforms/layout-decoration.mlir --- a/mlir/test/Dialect/SPIRV/Transforms/layout-decoration.mlir +++ b/mlir/test/Dialect/SPIRV/Transforms/layout-decoration.mlir @@ -1,23 +1,23 @@ // RUN: mlir-opt -decorate-spirv-composite-type-layout -split-input-file -verify-diagnostics %s -o - | FileCheck %s spv.module Logical GLSL450 { - // CHECK: spv.GlobalVariable @var0 bind(0, 1) : !spv.ptr [4], f32 [12])>, Uniform> - spv.GlobalVariable @var0 bind(0,1) : !spv.ptr, f32)>, Uniform> + // CHECK: spv.GlobalVariable @var0 bind(0, 1) -> !spv.ptr [4], f32 [12])>, Uniform> + spv.GlobalVariable @var0 bind(0,1) -> !spv.ptr, f32)>, Uniform> - // CHECK: spv.GlobalVariable @var1 bind(0, 2) : !spv.ptr [0], f32 [256])>, StorageBuffer> - spv.GlobalVariable @var1 bind(0,2) : !spv.ptr, f32)>, StorageBuffer> + // CHECK: spv.GlobalVariable @var1 bind(0, 2) -> !spv.ptr [0], f32 [256])>, StorageBuffer> + spv.GlobalVariable @var1 bind(0,2) -> !spv.ptr, f32)>, StorageBuffer> - // CHECK: spv.GlobalVariable @var2 bind(1, 0) : !spv.ptr [0], f32 [256])> [0], i32 [260])>, StorageBuffer> - spv.GlobalVariable @var2 bind(1,0) : !spv.ptr, f32)>, i32)>, StorageBuffer> + // CHECK: spv.GlobalVariable @var2 bind(1, 0) -> !spv.ptr [0], f32 [256])> [0], i32 [260])>, StorageBuffer> + spv.GlobalVariable @var2 bind(1,0) -> !spv.ptr, f32)>, i32)>, StorageBuffer> - // CHECK: spv.GlobalVariable @var3 : !spv.ptr [8])>, stride=72> [0], f32 [1152])>, StorageBuffer> - spv.GlobalVariable @var3 : !spv.ptr)>>, f32)>, StorageBuffer> + // CHECK: spv.GlobalVariable @var3 -> !spv.ptr [8])>, stride=72> [0], f32 [1152])>, StorageBuffer> + spv.GlobalVariable @var3 -> !spv.ptr)>>, f32)>, StorageBuffer> - // CHECK: spv.GlobalVariable @var4 bind(1, 2) : !spv.ptr [0], f32 [16], i1 [20])> [0], i1 [24])>, StorageBuffer> - spv.GlobalVariable @var4 bind(1,2) : !spv.ptr, f32, i1)>, i1)>, StorageBuffer> + // CHECK: spv.GlobalVariable @var4 bind(1, 2) -> !spv.ptr [0], f32 [16], i1 [20])> [0], i1 [24])>, StorageBuffer> + spv.GlobalVariable @var4 bind(1,2) -> !spv.ptr, f32, i1)>, i1)>, StorageBuffer> - // CHECK: spv.GlobalVariable @var5 bind(1, 3) : !spv.ptr [0])>, StorageBuffer> - spv.GlobalVariable @var5 bind(1,3) : !spv.ptr)>, StorageBuffer> + // CHECK: spv.GlobalVariable @var5 bind(1, 3) -> !spv.ptr [0])>, StorageBuffer> + spv.GlobalVariable @var5 bind(1,3) -> !spv.ptr)>, StorageBuffer> spv.func @kernel() -> () "None" { %c0 = spv.Constant 0 : i32 @@ -32,68 +32,68 @@ // ----- spv.module Logical GLSL450 { - // CHECK: spv.GlobalVariable @var0 : !spv.ptr [0], i1 [16])> [0], i1 [24])> [0], i1 [32])> [0], i1 [40])>, Uniform> - spv.GlobalVariable @var0 : !spv.ptr, i1)>, i1)>, i1)>, i1)>, Uniform> + // CHECK: spv.GlobalVariable @var0 -> !spv.ptr [0], i1 [16])> [0], i1 [24])> [0], i1 [32])> [0], i1 [40])>, Uniform> + spv.GlobalVariable @var0 -> !spv.ptr, i1)>, i1)>, i1)>, i1)>, Uniform> - // CHECK: spv.GlobalVariable @var1 : !spv.ptr [8], f32 [24])> [0], f32 [32])>, Uniform> - spv.GlobalVariable @var1 : !spv.ptr, f32)>, f32)>, Uniform> + // CHECK: spv.GlobalVariable @var1 -> !spv.ptr [8], f32 [24])> [0], f32 [32])>, Uniform> + spv.GlobalVariable @var1 -> !spv.ptr, f32)>, f32)>, Uniform> - // CHECK: spv.GlobalVariable @var2 : !spv.ptr, stride=128> [8])> [8], f32 [2064])> [0], f32 [2072])>, Uniform> - spv.GlobalVariable @var2 : !spv.ptr>)>, f32)>, f32)>, Uniform> + // CHECK: spv.GlobalVariable @var2 -> !spv.ptr, stride=128> [8])> [8], f32 [2064])> [0], f32 [2072])>, Uniform> + spv.GlobalVariable @var2 -> !spv.ptr>)>, f32)>, f32)>, Uniform> - // CHECK: spv.GlobalVariable @var3 : !spv.ptr [0], i1 [512])> [0], i1 [520])>, Uniform> - spv.GlobalVariable @var3 : !spv.ptr, i1)>, i1)>, Uniform> + // CHECK: spv.GlobalVariable @var3 -> !spv.ptr [0], i1 [512])> [0], i1 [520])>, Uniform> + spv.GlobalVariable @var3 -> !spv.ptr, i1)>, i1)>, Uniform> - // CHECK: spv.GlobalVariable @var4 : !spv.ptr [8], i1 [24])>, Uniform> - spv.GlobalVariable @var4 : !spv.ptr, i1)>, Uniform> + // CHECK: spv.GlobalVariable @var4 -> !spv.ptr [8], i1 [24])>, Uniform> + spv.GlobalVariable @var4 -> !spv.ptr, i1)>, Uniform> - // CHECK: spv.GlobalVariable @var5 : !spv.ptr [8], i1 [24])>, Uniform> - spv.GlobalVariable @var5 : !spv.ptr, i1)>, Uniform> + // CHECK: spv.GlobalVariable @var5 -> !spv.ptr [8], i1 [24])>, Uniform> + spv.GlobalVariable @var5 -> !spv.ptr, i1)>, Uniform> - // CHECK: spv.GlobalVariable @var6 : !spv.ptr [8], i1 [24])>, Uniform> - spv.GlobalVariable @var6 : !spv.ptr, i1)>, Uniform> + // CHECK: spv.GlobalVariable @var6 -> !spv.ptr [8], i1 [24])>, Uniform> + spv.GlobalVariable @var6 -> !spv.ptr, i1)>, Uniform> - // CHECK: spv.GlobalVariable @var7 : !spv.ptr [0], i1 [16])> [8], i1 [32])>, Uniform> - spv.GlobalVariable @var7 : !spv.ptr, i1)>, i1)>, Uniform> + // CHECK: spv.GlobalVariable @var7 -> !spv.ptr [0], i1 [16])> [8], i1 [32])>, Uniform> + spv.GlobalVariable @var7 -> !spv.ptr, i1)>, i1)>, Uniform> } // ----- spv.module Logical GLSL450 { - // CHECK: spv.GlobalVariable @var0 : !spv.ptr [0], f32 [8])>, StorageBuffer> - spv.GlobalVariable @var0 : !spv.ptr, f32)>, StorageBuffer> + // CHECK: spv.GlobalVariable @var0 -> !spv.ptr [0], f32 [8])>, StorageBuffer> + spv.GlobalVariable @var0 -> !spv.ptr, f32)>, StorageBuffer> - // CHECK: spv.GlobalVariable @var1 : !spv.ptr [0], f32 [12])>, StorageBuffer> - spv.GlobalVariable @var1 : !spv.ptr, f32)>, StorageBuffer> + // CHECK: spv.GlobalVariable @var1 -> !spv.ptr [0], f32 [12])>, StorageBuffer> + spv.GlobalVariable @var1 -> !spv.ptr, f32)>, StorageBuffer> - // CHECK: spv.GlobalVariable @var2 : !spv.ptr [0], f32 [16])>, StorageBuffer> - spv.GlobalVariable @var2 : !spv.ptr, f32)>, StorageBuffer> + // CHECK: spv.GlobalVariable @var2 -> !spv.ptr [0], f32 [16])>, StorageBuffer> + spv.GlobalVariable @var2 -> !spv.ptr, f32)>, StorageBuffer> } // ----- spv.module Logical GLSL450 { - // CHECK: spv.GlobalVariable @emptyStructAsMember : !spv.ptr [0])>, StorageBuffer> - spv.GlobalVariable @emptyStructAsMember : !spv.ptr)>, StorageBuffer> + // CHECK: spv.GlobalVariable @emptyStructAsMember -> !spv.ptr [0])>, StorageBuffer> + spv.GlobalVariable @emptyStructAsMember -> !spv.ptr)>, StorageBuffer> - // CHECK: spv.GlobalVariable @arrayType : !spv.ptr>, StorageBuffer> - spv.GlobalVariable @arrayType : !spv.ptr>, StorageBuffer> + // CHECK: spv.GlobalVariable @arrayType -> !spv.ptr>, StorageBuffer> + spv.GlobalVariable @arrayType -> !spv.ptr>, StorageBuffer> - // CHECK: spv.GlobalVariable @InputStorage : !spv.ptr)>, Input> - spv.GlobalVariable @InputStorage : !spv.ptr)>, Input> + // CHECK: spv.GlobalVariable @InputStorage -> !spv.ptr)>, Input> + spv.GlobalVariable @InputStorage -> !spv.ptr)>, Input> - // CHECK: spv.GlobalVariable @customLayout : !spv.ptr, Uniform> - spv.GlobalVariable @customLayout : !spv.ptr, Uniform> + // CHECK: spv.GlobalVariable @customLayout -> !spv.ptr, Uniform> + spv.GlobalVariable @customLayout -> !spv.ptr, Uniform> - // CHECK: spv.GlobalVariable @emptyStruct : !spv.ptr, Uniform> - spv.GlobalVariable @emptyStruct : !spv.ptr, Uniform> + // CHECK: spv.GlobalVariable @emptyStruct -> !spv.ptr, Uniform> + spv.GlobalVariable @emptyStruct -> !spv.ptr, Uniform> } // ----- spv.module Logical GLSL450 { - // CHECK: spv.GlobalVariable @var0 : !spv.ptr, PushConstant> - spv.GlobalVariable @var0 : !spv.ptr, PushConstant> - // CHECK: spv.GlobalVariable @var1 : !spv.ptr, PhysicalStorageBuffer> - spv.GlobalVariable @var1 : !spv.ptr, PhysicalStorageBuffer> + // CHECK: spv.GlobalVariable @var0 -> !spv.ptr, PushConstant> + spv.GlobalVariable @var0 -> !spv.ptr, PushConstant> + // CHECK: spv.GlobalVariable @var1 -> !spv.ptr, PhysicalStorageBuffer> + spv.GlobalVariable @var1 -> !spv.ptr, PhysicalStorageBuffer> } diff --git a/mlir/test/Dialect/SPIRV/Transforms/vce-deduction.mlir b/mlir/test/Dialect/SPIRV/Transforms/vce-deduction.mlir --- a/mlir/test/Dialect/SPIRV/Transforms/vce-deduction.mlir +++ b/mlir/test/Dialect/SPIRV/Transforms/vce-deduction.mlir @@ -192,6 +192,6 @@ #spv.vce, {}> } { - spv.GlobalVariable @data : !spv.ptr, Uniform> - spv.GlobalVariable @img : !spv.ptr, UniformConstant> + spv.GlobalVariable @data -> !spv.ptr, Uniform> + spv.GlobalVariable @img -> !spv.ptr, UniformConstant> } diff --git a/mlir/test/Target/SPIRV/array.mlir b/mlir/test/Target/SPIRV/array.mlir --- a/mlir/test/Target/SPIRV/array.mlir +++ b/mlir/test/Target/SPIRV/array.mlir @@ -11,8 +11,8 @@ // ----- spv.module Logical GLSL450 requires #spv.vce { - // CHECK: spv.GlobalVariable {{@.*}} : !spv.ptr, StorageBuffer> - spv.GlobalVariable @var0 : !spv.ptr, StorageBuffer> - // CHECK: spv.GlobalVariable {{@.*}} : !spv.ptr>, Input> - spv.GlobalVariable @var1 : !spv.ptr>, Input> + // CHECK: spv.GlobalVariable {{@.*}} -> !spv.ptr, StorageBuffer> + spv.GlobalVariable @var0 -> !spv.ptr, StorageBuffer> + // CHECK: spv.GlobalVariable {{@.*}} -> !spv.ptr>, Input> + spv.GlobalVariable @var1 -> !spv.ptr>, Input> } diff --git a/mlir/test/Target/SPIRV/debug.mlir b/mlir/test/Target/SPIRV/debug.mlir --- a/mlir/test/Target/SPIRV/debug.mlir +++ b/mlir/test/Target/SPIRV/debug.mlir @@ -2,7 +2,7 @@ spv.module Logical GLSL450 requires #spv.vce { // CHECK: loc({{".*debug.mlir"}}:5:3) - spv.GlobalVariable @var0 bind(0, 1) : !spv.ptr + spv.GlobalVariable @var0 bind(0, 1) -> !spv.ptr spv.func @arithmetic(%arg0 : vector<4xf32>, %arg1 : vector<4xf32>) "None" { // CHECK: loc({{".*debug.mlir"}}:8:10) %0 = spv.FAdd %arg0, %arg1 : vector<4xf32> diff --git a/mlir/test/Target/SPIRV/decorations.mlir b/mlir/test/Target/SPIRV/decorations.mlir --- a/mlir/test/Target/SPIRV/decorations.mlir +++ b/mlir/test/Target/SPIRV/decorations.mlir @@ -2,21 +2,21 @@ spv.module Logical GLSL450 requires #spv.vce { // CHECK: location = 0 : i32 - spv.GlobalVariable @var {location = 0 : i32} : !spv.ptr, Input> + spv.GlobalVariable @var {location = 0 : i32} -> !spv.ptr, Input> } // ----- spv.module Logical GLSL450 requires #spv.vce { // CHECK: no_perspective - spv.GlobalVariable @var {no_perspective} : !spv.ptr, Input> + spv.GlobalVariable @var {no_perspective} -> !spv.ptr, Input> } // ----- spv.module Logical GLSL450 requires #spv.vce { // CHECK: flat - spv.GlobalVariable @var {flat} : !spv.ptr + spv.GlobalVariable @var {flat} -> !spv.ptr } // ----- @@ -24,28 +24,28 @@ spv.module Logical GLSL450 requires #spv.vce { // CHECK: aliased // CHECK: aliased - spv.GlobalVariable @var1 bind(0, 0) {aliased} : !spv.ptr[0])>, StorageBuffer> - spv.GlobalVariable @var2 bind(0, 0) {aliased} : !spv.ptr[0])>, StorageBuffer> + spv.GlobalVariable @var1 bind(0, 0) {aliased} -> !spv.ptr[0])>, StorageBuffer> + spv.GlobalVariable @var2 bind(0, 0) {aliased} -> !spv.ptr[0])>, StorageBuffer> } // ----- spv.module Logical GLSL450 requires #spv.vce { // CHECK: non_readable - spv.GlobalVariable @var bind(0, 0) {non_readable} : !spv.ptr[0])>, StorageBuffer> + spv.GlobalVariable @var bind(0, 0) {non_readable} -> !spv.ptr[0])>, StorageBuffer> } // ----- spv.module Logical GLSL450 requires #spv.vce { // CHECK: non_writable - spv.GlobalVariable @var bind(0, 0) {non_writable} : !spv.ptr[0])>, StorageBuffer> + spv.GlobalVariable @var bind(0, 0) {non_writable} -> !spv.ptr[0])>, StorageBuffer> } // ----- spv.module Logical GLSL450 requires #spv.vce { // CHECK: restrict - spv.GlobalVariable @var bind(0, 0) {restrict} : !spv.ptr[0])>, StorageBuffer> + spv.GlobalVariable @var bind(0, 0) {restrict} -> !spv.ptr[0])>, StorageBuffer> } diff --git a/mlir/test/Target/SPIRV/entry-point.mlir b/mlir/test/Target/SPIRV/entry-point.mlir --- a/mlir/test/Target/SPIRV/entry-point.mlir +++ b/mlir/test/Target/SPIRV/entry-point.mlir @@ -13,12 +13,12 @@ // ----- spv.module Logical GLSL450 requires #spv.vce { - // CHECK: spv.GlobalVariable @var2 : !spv.ptr - // CHECK-NEXT: spv.GlobalVariable @var3 : !spv.ptr + // CHECK: spv.GlobalVariable @var2 -> !spv.ptr + // CHECK-NEXT: spv.GlobalVariable @var3 -> !spv.ptr // CHECK-NEXT: spv.func @noop({{%.*}}: !spv.ptr, {{%.*}}: !spv.ptr) "None" // CHECK: spv.EntryPoint "GLCompute" @noop, @var2, @var3 - spv.GlobalVariable @var2 : !spv.ptr - spv.GlobalVariable @var3 : !spv.ptr + spv.GlobalVariable @var2 -> !spv.ptr + spv.GlobalVariable @var3 -> !spv.ptr spv.func @noop(%arg0 : !spv.ptr, %arg1 : !spv.ptr) -> () "None" { spv.Return } diff --git a/mlir/test/Target/SPIRV/function-call.mlir b/mlir/test/Target/SPIRV/function-call.mlir --- a/mlir/test/Target/SPIRV/function-call.mlir +++ b/mlir/test/Target/SPIRV/function-call.mlir @@ -1,7 +1,7 @@ // RUN: mlir-translate -test-spirv-roundtrip %s | FileCheck %s spv.module Logical GLSL450 requires #spv.vce { - spv.GlobalVariable @var1 : !spv.ptr, Input> + spv.GlobalVariable @var1 -> !spv.ptr, Input> spv.func @fmain() -> i32 "None" { %0 = spv.Constant 16 : i32 %1 = spv.mlir.addressof @var1 : !spv.ptr, Input> diff --git a/mlir/test/Target/SPIRV/global-variable.mlir b/mlir/test/Target/SPIRV/global-variable.mlir --- a/mlir/test/Target/SPIRV/global-variable.mlir +++ b/mlir/test/Target/SPIRV/global-variable.mlir @@ -1,30 +1,30 @@ // RUN: mlir-translate -test-spirv-roundtrip -split-input-file %s | FileCheck %s -// CHECK: spv.GlobalVariable @var0 bind(1, 0) : !spv.ptr -// CHECK-NEXT: spv.GlobalVariable @var1 bind(0, 1) : !spv.ptr -// CHECK-NEXT: spv.GlobalVariable @var2 built_in("GlobalInvocationId") : !spv.ptr, Input> -// CHECK-NEXT: spv.GlobalVariable @var3 built_in("GlobalInvocationId") : !spv.ptr, Input> +// CHECK: spv.GlobalVariable @var0 bind(1, 0) -> !spv.ptr +// CHECK-NEXT: spv.GlobalVariable @var1 bind(0, 1) -> !spv.ptr +// CHECK-NEXT: spv.GlobalVariable @var2 built_in("GlobalInvocationId") -> !spv.ptr, Input> +// CHECK-NEXT: spv.GlobalVariable @var3 built_in("GlobalInvocationId") -> !spv.ptr, Input> spv.module Logical GLSL450 requires #spv.vce { - spv.GlobalVariable @var0 bind(1, 0) : !spv.ptr - spv.GlobalVariable @var1 bind(0, 1) : !spv.ptr - spv.GlobalVariable @var2 {built_in = "GlobalInvocationId"} : !spv.ptr, Input> - spv.GlobalVariable @var3 built_in("GlobalInvocationId") : !spv.ptr, Input> + spv.GlobalVariable @var0 bind(1, 0) -> !spv.ptr + spv.GlobalVariable @var1 bind(0, 1) -> !spv.ptr + spv.GlobalVariable @var2 {built_in = "GlobalInvocationId"} -> !spv.ptr, Input> + spv.GlobalVariable @var3 built_in("GlobalInvocationId") -> !spv.ptr, Input> } // ----- spv.module Logical GLSL450 requires #spv.vce { - // CHECK: spv.GlobalVariable @var1 : !spv.ptr - // CHECK-NEXT: spv.GlobalVariable @var2 initializer(@var1) bind(1, 0) : !spv.ptr - spv.GlobalVariable @var1 : !spv.ptr - spv.GlobalVariable @var2 initializer(@var1) bind(1, 0) : !spv.ptr + // CHECK: spv.GlobalVariable @var1 -> !spv.ptr + // CHECK-NEXT: spv.GlobalVariable @var2 init=@var1 bind(1, 0) -> !spv.ptr + spv.GlobalVariable @var1 -> !spv.ptr + spv.GlobalVariable @var2 init=@var1 bind(1, 0) -> !spv.ptr } // ----- spv.module Logical GLSL450 requires #spv.vce { - spv.GlobalVariable @globalInvocationID built_in("GlobalInvocationId") : !spv.ptr, Input> + spv.GlobalVariable @globalInvocationID built_in("GlobalInvocationId") -> !spv.ptr, Input> spv.func @foo() "None" { // CHECK: %[[ADDR:.*]] = spv.mlir.addressof @globalInvocationID : !spv.ptr, Input> %0 = spv.mlir.addressof @globalInvocationID : !spv.ptr, Input> diff --git a/mlir/test/Target/SPIRV/image.mlir b/mlir/test/Target/SPIRV/image.mlir --- a/mlir/test/Target/SPIRV/image.mlir +++ b/mlir/test/Target/SPIRV/image.mlir @@ -2,11 +2,11 @@ spv.module Logical GLSL450 requires #spv.vce { // CHECK: !spv.ptr, UniformConstant> - spv.GlobalVariable @var0 bind(0, 1) : !spv.ptr, UniformConstant> + spv.GlobalVariable @var0 bind(0, 1) -> !spv.ptr, UniformConstant> // CHECK: !spv.ptr, UniformConstant> - spv.GlobalVariable @var1 : !spv.ptr, UniformConstant> + spv.GlobalVariable @var1 -> !spv.ptr, UniformConstant> // CHECK: !spv.ptr, UniformConstant> - spv.GlobalVariable @var2 : !spv.ptr, UniformConstant> + spv.GlobalVariable @var2 -> !spv.ptr, UniformConstant> } diff --git a/mlir/test/Target/SPIRV/loop.mlir b/mlir/test/Target/SPIRV/loop.mlir --- a/mlir/test/Target/SPIRV/loop.mlir +++ b/mlir/test/Target/SPIRV/loop.mlir @@ -60,8 +60,8 @@ // ----- spv.module Logical GLSL450 requires #spv.vce { - spv.GlobalVariable @GV1 bind(0, 0) : !spv.ptr [0])>, StorageBuffer> - spv.GlobalVariable @GV2 bind(0, 1) : !spv.ptr [0])>, StorageBuffer> + spv.GlobalVariable @GV1 bind(0, 0) -> !spv.ptr [0])>, StorageBuffer> + spv.GlobalVariable @GV2 bind(0, 1) -> !spv.ptr [0])>, StorageBuffer> spv.func @loop_kernel() "None" { %0 = spv.mlir.addressof @GV1 : !spv.ptr [0])>, StorageBuffer> %1 = spv.Constant 0 : i32 diff --git a/mlir/test/Target/SPIRV/matrix.mlir b/mlir/test/Target/SPIRV/matrix.mlir --- a/mlir/test/Target/SPIRV/matrix.mlir +++ b/mlir/test/Target/SPIRV/matrix.mlir @@ -48,12 +48,12 @@ // ----- spv.module Logical GLSL450 requires #spv.vce { - // CHECK: spv.GlobalVariable {{@.*}} : !spv.ptr>, StorageBuffer> - spv.GlobalVariable @var0 : !spv.ptr>, StorageBuffer> + // CHECK: spv.GlobalVariable {{@.*}} -> !spv.ptr>, StorageBuffer> + spv.GlobalVariable @var0 -> !spv.ptr>, StorageBuffer> - // CHECK: spv.GlobalVariable {{@.*}} : !spv.ptr>, StorageBuffer> - spv.GlobalVariable @var1 : !spv.ptr>, StorageBuffer> + // CHECK: spv.GlobalVariable {{@.*}} -> !spv.ptr>, StorageBuffer> + spv.GlobalVariable @var1 -> !spv.ptr>, StorageBuffer> - // CHECK: spv.GlobalVariable {{@.*}} : !spv.ptr>, StorageBuffer> - spv.GlobalVariable @var2 : !spv.ptr>, StorageBuffer> + // CHECK: spv.GlobalVariable {{@.*}} -> !spv.ptr>, StorageBuffer> + spv.GlobalVariable @var2 -> !spv.ptr>, StorageBuffer> } diff --git a/mlir/test/Target/SPIRV/phi.mlir b/mlir/test/Target/SPIRV/phi.mlir --- a/mlir/test/Target/SPIRV/phi.mlir +++ b/mlir/test/Target/SPIRV/phi.mlir @@ -159,8 +159,8 @@ // Test nested loops with block arguments spv.module Logical GLSL450 requires #spv.vce { - spv.GlobalVariable @__builtin_var_NumWorkgroups__ built_in("NumWorkgroups") : !spv.ptr, Input> - spv.GlobalVariable @__builtin_var_WorkgroupId__ built_in("WorkgroupId") : !spv.ptr, Input> + spv.GlobalVariable @__builtin_var_NumWorkgroups__ built_in("NumWorkgroups") -> !spv.ptr, Input> + spv.GlobalVariable @__builtin_var_WorkgroupId__ built_in("WorkgroupId") -> !spv.ptr, Input> spv.func @fmul_kernel() "None" { %3 = spv.Constant 12 : i32 %4 = spv.Constant 32 : i32 diff --git a/mlir/test/Target/SPIRV/sampled-image.mlir b/mlir/test/Target/SPIRV/sampled-image.mlir --- a/mlir/test/Target/SPIRV/sampled-image.mlir +++ b/mlir/test/Target/SPIRV/sampled-image.mlir @@ -2,11 +2,11 @@ spv.module Logical GLSL450 requires #spv.vce { // CHECK: !spv.ptr>, UniformConstant> - spv.GlobalVariable @var0 bind(0, 1) : !spv.ptr>, UniformConstant> + spv.GlobalVariable @var0 bind(0, 1) -> !spv.ptr>, UniformConstant> // CHECK: !spv.ptr>, UniformConstant> - spv.GlobalVariable @var1 bind(0, 0) : !spv.ptr>, UniformConstant> + spv.GlobalVariable @var1 bind(0, 0) -> !spv.ptr>, UniformConstant> // CHECK: !spv.ptr>, UniformConstant> - spv.GlobalVariable @var2 bind(0, 0) : !spv.ptr>, UniformConstant> + spv.GlobalVariable @var2 bind(0, 0) -> !spv.ptr>, UniformConstant> } diff --git a/mlir/test/Target/SPIRV/struct.mlir b/mlir/test/Target/SPIRV/struct.mlir --- a/mlir/test/Target/SPIRV/struct.mlir +++ b/mlir/test/Target/SPIRV/struct.mlir @@ -2,47 +2,47 @@ spv.module Logical GLSL450 requires #spv.vce { // CHECK: !spv.ptr [0])>, Input> - spv.GlobalVariable @var0 bind(0, 1) : !spv.ptr [0])>, Input> + spv.GlobalVariable @var0 bind(0, 1) -> !spv.ptr [0])>, Input> // CHECK: !spv.ptr [4])> [4])>, Input> - spv.GlobalVariable @var1 bind(0, 2) : !spv.ptr [4])> [4])>, Input> + spv.GlobalVariable @var1 bind(0, 2) -> !spv.ptr [4])> [4])>, Input> // CHECK: !spv.ptr, StorageBuffer> - spv.GlobalVariable @var2 : !spv.ptr, StorageBuffer> + spv.GlobalVariable @var2 -> !spv.ptr, StorageBuffer> // CHECK: !spv.ptr [0])>, stride=512> [0])>, StorageBuffer> - spv.GlobalVariable @var3 : !spv.ptr [0])>, stride=512> [0])>, StorageBuffer> + spv.GlobalVariable @var3 -> !spv.ptr [0])>, stride=512> [0])>, StorageBuffer> // CHECK: !spv.ptr, StorageBuffer> - spv.GlobalVariable @var4 : !spv.ptr, StorageBuffer> + spv.GlobalVariable @var4 -> !spv.ptr, StorageBuffer> // CHECK: !spv.ptr, StorageBuffer> - spv.GlobalVariable @var5 : !spv.ptr, StorageBuffer> + spv.GlobalVariable @var5 -> !spv.ptr, StorageBuffer> // CHECK: !spv.ptr, StorageBuffer> - spv.GlobalVariable @var6 : !spv.ptr, StorageBuffer> + spv.GlobalVariable @var6 -> !spv.ptr, StorageBuffer> // CHECK: !spv.ptr> [0, ColMajor, MatrixStride=16])>, StorageBuffer> - spv.GlobalVariable @var7 : !spv.ptr> [0, ColMajor, MatrixStride=16])>, StorageBuffer> + spv.GlobalVariable @var7 -> !spv.ptr> [0, ColMajor, MatrixStride=16])>, StorageBuffer> // CHECK: !spv.ptr, StorageBuffer> - spv.GlobalVariable @empty : !spv.ptr, StorageBuffer> + spv.GlobalVariable @empty -> !spv.ptr, StorageBuffer> // CHECK: !spv.ptr, StorageBuffer> - spv.GlobalVariable @id_empty : !spv.ptr, StorageBuffer> + spv.GlobalVariable @id_empty -> !spv.ptr, StorageBuffer> // CHECK: !spv.ptr [0])>, Input> - spv.GlobalVariable @id_var0 : !spv.ptr [0])>, Input> + spv.GlobalVariable @id_var0 -> !spv.ptr [0])>, Input> // CHECK: !spv.ptr, StorageBuffer>)>, StorageBuffer> - spv.GlobalVariable @recursive_simple : !spv.ptr, StorageBuffer>)>, StorageBuffer> + spv.GlobalVariable @recursive_simple -> !spv.ptr, StorageBuffer>)>, StorageBuffer> // CHECK: !spv.ptr, Uniform>)>, Uniform>)>, Uniform> - spv.GlobalVariable @recursive_2 : !spv.ptr, Uniform>)>, Uniform>)>, Uniform> + spv.GlobalVariable @recursive_2 -> !spv.ptr, Uniform>)>, Uniform>)>, Uniform> // CHECK: !spv.ptr, Uniform>, !spv.ptr, Uniform>)>, Uniform>)>, Uniform> - spv.GlobalVariable @recursive_3 : !spv.ptr, Uniform>, !spv.ptr, Uniform>)>, Uniform>)>, Uniform> + spv.GlobalVariable @recursive_3 -> !spv.ptr, Uniform>, !spv.ptr, Uniform>)>, Uniform>)>, Uniform> // CHECK: !spv.ptr [0])>, Input>, // CHECK-SAME: !spv.ptr [0])>, Output>