Andrew Kelley
cb616cb797
stage2: implement runtime @intToEnum
...
* Update AIR instruction `intcast` to allow the dest type to be an
enum.
* LLVM backend: update `intcast` to support when the bit counts of
operand and dest type are the same. This was already a requirement of
the instruction previously.
* Type: `intInfo` supports the case when the type is an enum, and
retrieves the info for the integer tag type. This makes it pretty
easy for backends to implement `intcast` without having to care
explicitly that the new type is an enum. As a bonus, simple enums
never have to go through the type system; their signedness and bit
count are computed directly.
The "int to enum" behavior test case is now passing for stage2 in the
LLVM backend.
2021-10-05 21:38:47 -07:00
..
2021-09-24 13:39:20 -04:00
2021-04-29 15:54:04 -07:00
2021-04-29 15:54:04 -07:00
2021-04-29 15:54:04 -07:00
2021-04-29 15:54:04 -07:00
2021-09-01 17:54:07 -07:00
2021-06-21 17:03:03 -07:00
2021-05-08 14:45:21 -07:00
2021-09-24 13:39:20 -04:00
2021-10-01 16:46:28 -04:00
2021-10-04 23:48:55 -07:00
2021-06-21 17:03:03 -07:00
2021-10-04 23:48:55 -07:00
2021-06-21 17:03:03 -07:00
2021-09-24 17:33:06 -07:00
2021-06-21 17:03:03 -07:00
2021-10-04 23:30:04 -07:00
2021-10-04 23:30:04 -07:00
2021-05-08 14:45:21 -07:00
2021-08-01 12:36:04 -07:00
2021-09-01 15:41:29 -07:00
2021-05-08 14:45:21 -07:00
2021-10-02 20:15:03 -07:00
2021-10-02 20:15:03 -07:00
2021-10-02 20:15:03 -07:00
2021-10-02 20:15:03 -07:00
2021-08-30 18:50:07 -04:00
2021-10-02 20:15:03 -07:00
2021-10-02 20:15:03 -07:00
2021-10-02 20:15:03 -07:00
2021-10-05 21:38:47 -07:00
2021-10-05 21:38:47 -07:00
2021-08-24 22:35:37 -07:00
2021-09-28 12:00:35 -05:00
2021-09-28 12:00:35 -05:00
2021-05-08 14:45:21 -07:00
2021-05-08 14:45:21 -07:00
2021-05-08 14:45:21 -07:00
2021-05-08 14:45:21 -07:00
2021-06-21 17:03:03 -07:00
2021-10-02 20:15:03 -07:00
2021-10-02 20:15:03 -07:00
2021-09-28 12:00:35 -05:00
2021-09-28 12:00:35 -05:00
2021-05-08 14:45:21 -07:00
2021-05-08 14:45:21 -07:00
2021-10-02 20:15:03 -07:00
2021-10-02 20:15:03 -07:00
2021-06-21 17:03:03 -07:00
2021-05-08 14:45:21 -07:00
2021-06-21 17:03:03 -07:00
2021-06-21 17:03:03 -07:00
2021-09-28 22:38:51 -07:00
2021-09-28 22:38:51 -07:00
2021-07-26 20:41:00 -04:00
2021-09-28 12:00:35 -05:00
2021-04-29 15:54:04 -07:00
2021-09-24 17:33:06 -07:00
2021-10-05 16:56:46 -07:00
2021-10-04 23:48:55 -07:00
2021-06-21 17:03:03 -07:00
2021-06-21 17:03:03 -07:00
2021-08-07 15:46:53 -07:00
2021-08-07 15:46:53 -07:00
2021-09-01 15:41:29 -07:00
2021-05-08 14:45:21 -07:00
2021-05-08 14:45:21 -07:00
2021-05-08 14:45:21 -07:00
2021-06-21 17:03:03 -07:00
2021-10-04 12:23:49 -07:00
2021-07-26 20:05:48 -04:00
2021-09-01 15:41:29 -07:00
2021-10-04 23:48:55 -07:00
2021-10-04 23:48:55 -07:00
2021-06-21 17:03:03 -07:00
2021-06-21 17:03:03 -07:00
2021-05-08 14:45:21 -07:00
2021-05-08 14:45:21 -07:00
2021-05-08 14:45:21 -07:00
2021-09-29 14:04:52 -07:00
2021-09-29 14:04:52 -07:00
2021-05-08 14:45:21 -07:00
2021-05-08 14:45:21 -07:00
2021-10-02 20:15:03 -07:00
2021-10-02 20:15:03 -07:00
2021-09-23 13:17:06 -04:00
2021-09-20 20:51:31 -07:00
2021-08-06 09:10:50 +03:00
2021-09-20 20:51:31 -07:00
2021-07-06 12:42:18 +03:00
2021-05-08 14:45:21 -07:00
2021-06-21 17:03:03 -07:00
2021-06-21 17:03:03 -07:00
2021-09-20 02:29:04 +02:00
2021-07-28 18:17:11 -04:00
2021-05-08 14:45:21 -07:00
2021-10-02 20:15:03 -07:00
2021-10-05 21:07:36 -07:00
2021-10-02 20:15:03 -07:00
2021-09-27 23:11:00 -07:00
2021-09-01 17:54:07 -07:00
2021-09-01 17:54:06 -07:00
2021-06-21 17:03:03 -07:00
2021-10-04 23:48:55 -07:00
2021-06-21 17:03:03 -07:00
2021-05-08 14:45:21 -07:00
2021-10-02 20:15:03 -07:00
2021-10-02 20:15:03 -07:00
2021-09-21 23:21:07 -07:00