src/Sema.zig | 30 +- src/Zcu/PerThread.zig | 13 - src/codegen.zig | 4 + src/codegen/spirv/CodeGen.zig | 194 +++++++++ src/codegen/spirv/Mir.zig | 71 ++++ src/link.zig | 1 - src/link/SpirV.zig | 727 +++++++++++++++++++++++++++----- src/link/SpirV/BinaryModule.zig | 281 ++++-------- src/link/SpirV/dedup_types.zig | 255 +++++++++++ src/link/SpirV/lower_invocation_globals.zig | 36 +- src/link/SpirV/prune_unused.zig | 234 ++++++++++ src/target.zig | 4 +- test/behavior/align.zig | 2 + test/behavior/enum.zig | 2 + test/behavior/inline_switch.zig | 7 + test/behavior/ir_block_deps.zig | 1 + test/behavior/switch.zig | 1 + test/behavior/tuple.zig | 1 + test/behavior/union.zig | 3 + test/cases/compile_errors/illegal_operation_on_logical_ptr.zig | 32 +- 20 files changed, 1512 insertions(+), 387 deletions(-)