lib/std/builtin.zig | 8 +- src/AstGen.zig | 339 +++++++++++++- src/Compilation.zig | 1 - src/Module.zig | 158 ++++++- src/Sema.zig | 775 ++++++++++++++++++++++++-------- src/Zir.zig | 7 +- src/arch/aarch64/CodeGen.zig | 70 +-- src/arch/arm/CodeGen.zig | 82 ++-- src/arch/arm/Emit.zig | 2 +- src/arch/riscv64/CodeGen.zig | 69 +-- src/arch/wasm/CodeGen.zig | 70 +-- src/arch/x86_64/CodeGen.zig | 86 ++-- src/arch/x86_64/Emit.zig | 2 +- src/codegen.zig | 2 +- src/codegen/c.zig | 28 +- src/codegen/llvm.zig | 161 ++++--- src/codegen/spirv.zig | 6 +- src/link/Elf.zig | 2 +- src/link/MachO/DebugSymbols.zig | 2 +- src/link/Wasm.zig | 2 +- src/print_zir.zig | 3 +- src/target.zig | 9 + src/type.zig | 601 +++++++++++++------------ src/value.zig | 79 +++- test/behavior.zig | 21 +- test/behavior/align.zig | 27 +- test/behavior/align_stage1.zig | 17 - test/behavior/basic.zig | 4 +- test/behavior/basic_llvm.zig | 4 +- test/behavior/bugs/1500.zig | 2 +- test/behavior/bugs/3112.zig | 5 +- test/behavior/cast_llvm.zig | 12 +- test/behavior/comptime_memory.zig | 99 +++- test/behavior/error.zig | 1 + test/behavior/fn.zig | 12 +- test/behavior/inttoptr.zig | 12 +- test/behavior/member_func.zig | 10 +- test/behavior/slice.zig | 13 + test/behavior/slice_stage2.zig | 12 - test/behavior/union.zig | 5 +- test/stage2/arm.zig | 2 +- 41 files changed, 1986 insertions(+), 836 deletions(-)