[flang] Accept polymorphic component element in storage_size
[llvm-project.git] / mlir / test / Target / SPIRV / decorations.mlir
bloba52b0f52eb03338db5d5dbeac741e54ceefebe65
1 // RUN: mlir-translate -no-implicit-module -split-input-file -test-spirv-roundtrip %s | FileCheck %s
3 spirv.module Logical GLSL450 requires #spirv.vce<v1.0, [Shader], []> {
4   // CHECK: location = 0 : i32
5   spirv.GlobalVariable @var {location = 0 : i32} : !spirv.ptr<vector<4xf32>, Input>
8 // -----
10 spirv.module Logical GLSL450 requires #spirv.vce<v1.0, [Shader], []> {
11   // CHECK: no_perspective
12   spirv.GlobalVariable @var {no_perspective} : !spirv.ptr<vector<4xf32>, Input>
15 // -----
17 spirv.module Logical GLSL450 requires #spirv.vce<v1.0, [Shader], []> {
18   // CHECK: flat
19   spirv.GlobalVariable @var {flat} : !spirv.ptr<si32, Input>
22 // -----
24 spirv.module Logical GLSL450 requires #spirv.vce<v1.0, [Shader], []> {
25   // CHECK: aliased
26   // CHECK: aliased
27   spirv.GlobalVariable @var1 bind(0, 0) {aliased} : !spirv.ptr<!spirv.struct<(!spirv.array<4xf32, stride=4>[0])>, StorageBuffer>
28   spirv.GlobalVariable @var2 bind(0, 0) {aliased} : !spirv.ptr<!spirv.struct<(vector<4xf32>[0])>, StorageBuffer>
31 // -----
33 spirv.module Logical GLSL450 requires #spirv.vce<v1.0, [Shader], []> {
34   // CHECK: non_readable
35   spirv.GlobalVariable @var bind(0, 0) {non_readable} : !spirv.ptr<!spirv.struct<(!spirv.array<4xf32, stride=4>[0])>, StorageBuffer>
38 // -----
40 spirv.module Logical GLSL450 requires #spirv.vce<v1.0, [Shader], []> {
41   // CHECK: non_writable
42   spirv.GlobalVariable @var bind(0, 0) {non_writable} : !spirv.ptr<!spirv.struct<(!spirv.array<4xf32, stride=4>[0])>, StorageBuffer>
45 // -----
47 spirv.module Logical GLSL450 requires #spirv.vce<v1.0, [Shader], []> {
48   // CHECK: restrict
49   spirv.GlobalVariable @var bind(0, 0) {restrict} : !spirv.ptr<!spirv.struct<(!spirv.array<4xf32, stride=4>[0])>, StorageBuffer>
52 // -----
54 spirv.module Logical GLSL450 requires #spirv.vce<v1.0, [Shader], []> {
55   // CHECK: relaxed_precision
56   spirv.GlobalVariable @var {location = 0 : i32, relaxed_precision} : !spirv.ptr<vector<4xf32>, Output>