| ... | @@ -124,17 +124,6 @@ pub const Tag = enum { | ... | @@ -124,17 +124,6 @@ pub const Tag = enum { |
| 124 | work_group_id, | 124 | work_group_id, |
| 125 | }; | 125 | }; |
| 126 | | 126 | |
| 127 | pub const MemLocRequirement = enum { | | |
| 128 | /// The builtin never needs a memory location. | | |
| 129 | never, | | |
| 130 | /// The builtin always needs a memory location. | | |
| 131 | always, | | |
| 132 | /// The builtin forwards the question to argument at index 0. | | |
| 133 | forward0, | | |
| 134 | /// The builtin forwards the question to argument at index 1. | | |
| 135 | forward1, | | |
| 136 | }; | | |
| 137 | | | |
| 138 | pub const EvalToError = enum { | 127 | pub const EvalToError = enum { |
| 139 | /// The builtin cannot possibly evaluate to an error. | 128 | /// The builtin cannot possibly evaluate to an error. |
| 140 | never, | 129 | never, |
| ... | @@ -146,8 +135,6 @@ pub const EvalToError = enum { | ... | @@ -146,8 +135,6 @@ pub const EvalToError = enum { |
| 146 | | 135 | |
| 147 | tag: Tag, | 136 | tag: Tag, |
| 148 | | 137 | |
| 149 | /// Info about the builtin call's ability to take advantage of a result location pointer. | | |
| 150 | needs_mem_loc: MemLocRequirement = .never, | | |
| 151 | /// Info about the builtin call's possibility of returning an error. | 138 | /// Info about the builtin call's possibility of returning an error. |
| 152 | eval_to_error: EvalToError = .never, | 139 | eval_to_error: EvalToError = .never, |
| 153 | /// `true` if the builtin call can be the left-hand side of an expression (assigned to). | 140 | /// `true` if the builtin call can be the left-hand side of an expression (assigned to). |
| ... | @@ -193,7 +180,6 @@ pub const list = list: { | ... | @@ -193,7 +180,6 @@ pub const list = list: { |
| 193 | "@as", | 180 | "@as", |
| 194 | .{ | 181 | .{ |
| 195 | .tag = .as, | 182 | .tag = .as, |
| 196 | .needs_mem_loc = .forward1, | | |
| 197 | .eval_to_error = .maybe, | 183 | .eval_to_error = .maybe, |
| 198 | .param_count = 2, | 184 | .param_count = 2, |
| 199 | }, | 185 | }, |
| ... | @@ -230,7 +216,6 @@ pub const list = list: { | ... | @@ -230,7 +216,6 @@ pub const list = list: { |
| 230 | "@bitCast", | 216 | "@bitCast", |
| 231 | .{ | 217 | .{ |
| 232 | .tag = .bit_cast, | 218 | .tag = .bit_cast, |
| 233 | .needs_mem_loc = .forward0, | | |
| 234 | .param_count = 1, | 219 | .param_count = 1, |
| 235 | }, | 220 | }, |
| 236 | }, | 221 | }, |
| ... | @@ -311,7 +296,6 @@ pub const list = list: { | ... | @@ -311,7 +296,6 @@ pub const list = list: { |
| 311 | "@call", | 296 | "@call", |
| 312 | .{ | 297 | .{ |
| 313 | .tag = .call, | 298 | .tag = .call, |
| 314 | .needs_mem_loc = .always, | | |
| 315 | .eval_to_error = .maybe, | 299 | .eval_to_error = .maybe, |
| 316 | .param_count = 3, | 300 | .param_count = 3, |
| 317 | }, | 301 | }, |
| ... | @@ -503,7 +487,6 @@ pub const list = list: { | ... | @@ -503,7 +487,6 @@ pub const list = list: { |
| 503 | "@field", | 487 | "@field", |
| 504 | .{ | 488 | .{ |
| 505 | .tag = .field, | 489 | .tag = .field, |
| 506 | .needs_mem_loc = .always, | | |
| 507 | .eval_to_error = .maybe, | 490 | .eval_to_error = .maybe, |
| 508 | .param_count = 2, | 491 | .param_count = 2, |
| 509 | .allows_lvalue = true, | 492 | .allows_lvalue = true, |
| ... | @@ -817,7 +800,6 @@ pub const list = list: { | ... | @@ -817,7 +800,6 @@ pub const list = list: { |
| 817 | "@src", | 800 | "@src", |
| 818 | .{ | 801 | .{ |
| 819 | .tag = .src, | 802 | .tag = .src, |
| 820 | .needs_mem_loc = .always, | | |
| 821 | .param_count = 0, | 803 | .param_count = 0, |
| 822 | .illegal_outside_function = true, | 804 | .illegal_outside_function = true, |
| 823 | }, | 805 | }, |
| ... | @@ -987,7 +969,6 @@ pub const list = list: { | ... | @@ -987,7 +969,6 @@ pub const list = list: { |
| 987 | "@unionInit", | 969 | "@unionInit", |
| 988 | .{ | 970 | .{ |
| 989 | .tag = .union_init, | 971 | .tag = .union_init, |
| 990 | .needs_mem_loc = .always, | | |
| 991 | .param_count = 3, | 972 | .param_count = 3, |
| 992 | }, | 973 | }, |
| 993 | }, | 974 | }, |