[clang-tidy][NFC]remove deps of clang in clang tidy test (#116588)
[llvm-project.git] / mlir / test / Dialect / IRDL / testd.irdl.mlir
blobaeb1a83747eccb3745656e5e1758c89c47d0eaa0
1 // RUN: mlir-opt %s | mlir-opt | FileCheck %s
3 // CHECK: irdl.dialect @testd {
4 irdl.dialect @testd {
5   // CHECK: irdl.type @parametric {
6   // CHECK:   %[[v0:[^ ]*]] = irdl.any
7   // CHECK:   irdl.parameters(%[[v0]])
8   // CHECK: }
9   irdl.type @parametric {
10     %0 = irdl.any
11     irdl.parameters(%0)
12   }
14   // CHECK: irdl.attribute @parametric_attr {
15   // CHECK:  %[[v0:[^ ]*]] = irdl.any
16   // CHECK:  irdl.parameters(%[[v0]])
17   // CHECK: }
18   irdl.attribute @parametric_attr {
19     %0 = irdl.any
20     irdl.parameters(%0)
21   }
23   // CHECK: irdl.type @attr_in_type_out {
24   // CHECK:   %[[v0:[^ ]*]] = irdl.any
25   // CHECK:   irdl.parameters(%[[v0]])
26   // CHECK: }
27   irdl.type @attr_in_type_out {
28     %0 = irdl.any
29     irdl.parameters(%0)
30   }
32   // CHECK: irdl.operation @eq {
33   // CHECK:   %[[v0:[^ ]*]] = irdl.is i32
34   // CHECK:   irdl.results(%[[v0]])
35   // CHECK: }
36   irdl.operation @eq {
37     %0 = irdl.is i32
38     irdl.results(%0)
39   }
41   // CHECK: irdl.operation @anyof {
42   // CHECK:   %[[v0:[^ ]*]] = irdl.is i32
43   // CHECK:   %[[v1:[^ ]*]] = irdl.is i64
44   // CHECK:   %[[v2:[^ ]*]] = irdl.any_of(%[[v0]], %[[v1]])
45   // CHECK:   irdl.results(%[[v2]])
46   // CHECK: }
47   irdl.operation @anyof {
48     %0 = irdl.is i32
49     %1 = irdl.is i64
50     %2 = irdl.any_of(%0, %1)
51     irdl.results(%2)
52   }
54   // CHECK: irdl.operation @all_of {
55   // CHECK:   %[[v0:[^ ]*]] = irdl.is i32
56   // CHECK:   %[[v1:[^ ]*]] = irdl.is i64
57   // CHECK:   %[[v2:[^ ]*]] = irdl.any_of(%[[v0]], %[[v1]])
58   // CHECK:   %[[v3:[^ ]*]] = irdl.all_of(%[[v2]], %[[v1]])
59   // CHECK:   irdl.results(%[[v3]])
60   // CHECK: }
61   irdl.operation @all_of {
62     %0 = irdl.is i32
63     %1 = irdl.is i64
64     %2 = irdl.any_of(%0, %1)
65     %3 = irdl.all_of(%2, %1)
66     irdl.results(%3)
67   }
69   // CHECK: irdl.operation @any {
70   // CHECK:   %[[v0:[^ ]*]] = irdl.any
71   // CHECK:   irdl.results(%[[v0]])
72   // CHECK: }
73   irdl.operation @any {
74     %0 = irdl.any
75     irdl.results(%0)
76   }
78   // CHECK: irdl.operation @dyn_type_base {
79   // CHECK:   %[[v1:[^ ]*]] = irdl.base @testd::@parametric
80   // CHECK:   irdl.results(%[[v1]])
81   // CHECK: }
82   irdl.operation @dyn_type_base {
83     %0 = irdl.base @testd::@parametric
84     irdl.results(%0)
85   }
87   // CHECK: irdl.operation @dyn_attr_base {
88   // CHECK:   %[[v1:[^ ]*]] = irdl.base @testd::@parametric_attr
89   // CHECK:   irdl.attributes {"attr1" = %[[v1]]}
90   // CHECK: }
91   irdl.operation @dyn_attr_base {
92     %0 = irdl.base @testd::@parametric_attr
93     irdl.attributes {"attr1" = %0}
94   }
96   // CHECK: irdl.operation @named_type_base {
97   // CHECK:   %[[v1:[^ ]*]] = irdl.base "!builtin.integer"
98   // CHECK:   irdl.results(%[[v1]])
99   // CHECK: }
100   irdl.operation @named_type_base {
101     %0 = irdl.base "!builtin.integer"
102     irdl.results(%0)
103   }
105   // CHECK: irdl.operation @named_attr_base {
106   // CHECK:   %[[v1:[^ ]*]] = irdl.base "#builtin.integer"
107   // CHECK:   irdl.attributes {"attr1" = %[[v1]]}
108   // CHECK: }
109   irdl.operation @named_attr_base {
110     %0 = irdl.base "#builtin.integer"
111     irdl.attributes {"attr1" = %0}
112   }
114   // CHECK: irdl.operation @dynparams {
115   // CHECK:   %[[v0:[^ ]*]] = irdl.is i32
116   // CHECK:   %[[v1:[^ ]*]] = irdl.is i64
117   // CHECK:   %[[v2:[^ ]*]] = irdl.any_of(%[[v0]], %[[v1]])
118   // CHECK:   %[[v3:[^ ]*]] = irdl.parametric @testd::@parametric<%[[v2]]>
119   // CHECK:   irdl.results(%[[v3]])
120   // CHECK: }
121   irdl.operation @dynparams {
122     %0 = irdl.is i32
123     %1 = irdl.is i64
124     %2 = irdl.any_of(%0, %1)
125     %3 = irdl.parametric @testd::@parametric<%2>
126     irdl.results(%3)
127   }
129   // CHECK: irdl.operation @constraint_vars {
130   // CHECK:   %[[v0:[^ ]*]] = irdl.is i32
131   // CHECK:   %[[v1:[^ ]*]] = irdl.is i64
132   // CHECK:   %[[v2:[^ ]*]] = irdl.any_of(%[[v0]], %[[v1]])
133   // CHECK:   irdl.results(%[[v2]], %[[v2]])
134   // CHECK: }
135   irdl.operation @constraint_vars {
136     %0 = irdl.is i32
137     %1 = irdl.is i64
138     %2 = irdl.any_of(%0, %1)
139     irdl.results(%2, %2)
140   }
142   // CHECK: irdl.operation @attrs {
143   // CHECK:   %[[v0:[^ ]*]] = irdl.is i32
144   // CHECK:   %[[v1:[^ ]*]] = irdl.is i64
145   // CHECK:   irdl.attributes {"attr1" = %[[v0]], "attr2" = %[[v1]]}
146   // CHECK: }
147   irdl.operation @attrs {
148     %0 = irdl.is i32
149     %1 = irdl.is i64
151     irdl.attributes {
152       "attr1" = %0,
153       "attr2" = %1
154     }
155   }
156   // CHECK: irdl.operation @regions {
157   // CHECK:   %[[r0:[^ ]*]] = irdl.region
158   // CHECK:   %[[v0:[^ ]*]] = irdl.is i32
159   // CHECK:   %[[v1:[^ ]*]] = irdl.is i64
160   // CHECK:   %[[r1:[^ ]*]] = irdl.region(%[[v0]], %[[v1]])
161   // CHECK:   %[[r2:[^ ]*]] = irdl.region with size 3
162   // CHECK:   %[[r3:[^ ]*]] = irdl.region()
163   // CHECK:   irdl.regions(%[[r0]], %[[r1]], %[[r2]], %[[r3]])
164   // CHECK: }
165   irdl.operation @regions {
166     %r0 = irdl.region
167     %v0 = irdl.is i32
168     %v1 = irdl.is i64
169     %r1 = irdl.region(%v0, %v1)
170     %r2 = irdl.region with size 3
171     %r3 = irdl.region()
173     irdl.regions(%r0, %r1, %r2, %r3)
174   }
176   // CHECK: irdl.operation @region_and_operand {
177   // CHECK:   %[[v0:[^ ]*]] = irdl.any
178   // CHECK:   %[[r0:[^ ]*]] = irdl.region(%[[v0]])
179   // CHECK:   irdl.operands(%[[v0]])
180   // CHECK:   irdl.regions(%[[r0]])
181   // CHECK: }
182   irdl.operation @region_and_operand {
183     %v0 = irdl.any
184     %r0 = irdl.region(%v0)
186     irdl.operands(%v0)
187     irdl.regions(%r0)
188   }