[clang-tidy][NFC]remove deps of clang in clang tidy test (#116588)
[llvm-project.git] / mlir / test / Dialect / Ptr / layout.mlir
blob73189a388942acade9a16da6526a22d911c3c8ac
1 // RUN: mlir-opt --test-data-layout-query --split-input-file --verify-diagnostics %s | FileCheck %s
3 module attributes { dlti.dl_spec = #dlti.dl_spec<
4   #dlti.dl_entry<!ptr.ptr, #ptr.spec<size = 32, abi = 32, preferred = 64>>,
5   #dlti.dl_entry<!ptr.ptr<5>,#ptr.spec<size = 64, abi = 64, preferred = 64>>,
6   #dlti.dl_entry<!ptr.ptr<4>, #ptr.spec<size = 32, abi = 64, preferred = 64, index = 24>>,
7   #dlti.dl_entry<"dlti.alloca_memory_space", 5 : ui64>,
8   #dlti.dl_entry<"dlti.global_memory_space", 2 : ui64>,
9   #dlti.dl_entry<"dlti.program_memory_space", 3 : ui64>,
10   #dlti.dl_entry<"dlti.stack_alignment", 128 : i64>
11 >} {
12   // CHECK: @spec
13   func.func @spec() {
14     // CHECK: alignment = 4
15     // CHECK: alloca_memory_space = 5
16     // CHECK: bitsize = 32
17     // CHECK: global_memory_space = 2
18     // CHECK: index = 32
19     // CHECK: preferred = 8
20     // CHECK: program_memory_space = 3
21     // CHECK: size = 4
22     // CHECK: stack_alignment = 128
23     "test.data_layout_query"() : () -> !ptr.ptr
24     // CHECK: alignment = 4
25     // CHECK: alloca_memory_space = 5
26     // CHECK: bitsize = 32
27     // CHECK: global_memory_space = 2
28     // CHECK: index = 32
29     // CHECK: preferred = 8
30     // CHECK: program_memory_space = 3
31     // CHECK: size = 4
32     // CHECK: stack_alignment = 128
33     "test.data_layout_query"() : () -> !ptr.ptr<3>
34     // CHECK: alignment = 8
35     // CHECK: alloca_memory_space = 5
36     // CHECK: bitsize = 64
37     // CHECK: global_memory_space = 2
38     // CHECK: index = 64
39     // CHECK: preferred = 8
40     // CHECK: program_memory_space = 3
41     // CHECK: size = 8
42     // CHECK: stack_alignment = 128
43     "test.data_layout_query"() : () -> !ptr.ptr<5>
44     // CHECK: alignment = 8
45     // CHECK: alloca_memory_space = 5
46     // CHECK: bitsize = 32
47     // CHECK: global_memory_space = 2
48     // CHECK: index = 24
49     // CHECK: preferred = 8
50     // CHECK: program_memory_space = 3
51     // CHECK: size = 4
52     // CHECK: stack_alignment = 128
53     "test.data_layout_query"() : () -> !ptr.ptr<4>
54     return
55   }
58 // -----
60 // expected-error@+2 {{preferred alignment is expected to be at least as large as ABI alignment}}
61 module attributes { dlti.dl_spec = #dlti.dl_spec<
62   #dlti.dl_entry<!ptr.ptr, #ptr.spec<size = 64, abi = 64, preferred = 32>>
63 >} {
64   func.func @pointer() {
65     return
66   }
69 // -----
71 // expected-error@+2 {{size entry must be divisible by 8}}
72 module attributes { dlti.dl_spec = #dlti.dl_spec<
73   #dlti.dl_entry<!ptr.ptr, #ptr.spec<size = 33, abi = 32, preferred = 32>>
74 >} {
75   func.func @pointer() {
76     return
77   }
81 // -----
83 // expected-error@+2 {{abi entry must be divisible by 8}}
84 module attributes { dlti.dl_spec = #dlti.dl_spec<
85   #dlti.dl_entry<!ptr.ptr, #ptr.spec<size = 32, abi = 33, preferred = 64>>
86 >} {
87   func.func @pointer() {
88     return
89   }
93 // -----
95 // expected-error@+2 {{preferred entry must be divisible by 8}}
96 module attributes { dlti.dl_spec = #dlti.dl_spec<
97   #dlti.dl_entry<!ptr.ptr, #ptr.spec<size = 32, abi = 32, preferred = 33>>
98 >} {
99   func.func @pointer() {
100     return
101   }
105 // -----
107 // expected-error@+2 {{index entry must be divisible by 8}}
108 module attributes { dlti.dl_spec = #dlti.dl_spec<
109   #dlti.dl_entry<!ptr.ptr, #ptr.spec<size = 32, abi = 32, preferred = 32, index = 33>>
110 >} {
111   func.func @pointer() {
112     return
113   }