mlugg de49a9a173
Zir: add instructions to fetch std.builtin types
This replaces the constant `Zir.Inst.Ref` tags (and the analagous tags
in `Air.Inst.Ref`, `InternPool.Index`) referring to types in
`std.builtin` with a ZIR instruction `extended(builtin_type(...))` which
instructs Sema to fetch such a type, effectively as if it were a
shorthand for the ZIR for `@import("std").builtin.xyz`.

Previously, this was achieved through constant tags in `Ref`. The
analagous `InternPool` indices began as `simple_type` values, and were
later rewritten to the correct type information. This system was kind of
brittle, and more importantly, isn't compatible with incremental
compilation of std, since incremental compilation relies on the ability
to recreate types at different indices when they change. Replacing the
old system with this instruction slightly increases the size of ZIR, but
it simplifies logic and allows incremental compilation to work correctly
on the standard library.

This shouldn't have a significant impact on ZIR size or compiler
performance, but I will take measurements in the PR to confirm this.
2024-08-18 18:10:59 +01:00
..
2024-08-15 22:05:53 -07:00
2024-07-09 14:25:42 -07:00
2024-08-01 13:47:23 -07:00
2024-07-09 14:25:42 -07:00
2024-08-07 00:48:32 -07:00
2024-07-25 18:52:20 -07:00
2024-03-21 14:11:46 -07:00
2024-02-23 02:37:11 -07:00
2024-07-23 11:43:12 -07:00
2024-07-09 14:25:42 -07:00
2024-08-15 22:05:53 -07:00
2024-07-19 00:30:32 -07:00
2024-07-09 14:25:42 -07:00
2024-07-02 16:31:15 +02:00
2024-03-10 18:13:30 -07:00
2024-03-21 14:11:46 -07:00
2024-07-09 14:25:42 -07:00
2024-08-12 08:59:49 +02:00
2024-03-10 18:13:30 -07:00
2024-07-19 00:30:32 -07:00
2024-05-26 16:13:54 -04:00
2024-03-21 14:11:46 -07:00
2024-07-20 01:06:29 -07:00
2024-02-05 11:55:14 +03:30
2024-07-19 00:30:32 -07:00
2024-08-07 00:48:32 -07:00
2024-07-31 16:57:42 -07:00
2024-07-28 21:34:14 -07:00
2024-07-19 00:30:32 -07:00
2024-04-15 15:24:30 -07:00
2024-07-19 00:30:32 -07:00
2024-08-01 22:11:35 -07:00
2024-07-09 14:25:42 -07:00
2024-08-15 22:05:53 -07:00
2024-07-25 18:52:20 -07:00
2024-07-19 00:30:32 -07:00
2024-07-31 16:57:42 -07:00
2024-06-17 16:12:19 -04:00