diff --git a/src/codegen/spirv.zig b/src/codegen/spirv.zig index de7f3a0699..22aa9e7df0 100644 --- a/src/codegen/spirv.zig +++ b/src/codegen/spirv.zig @@ -1300,6 +1300,8 @@ const NavGen = struct { .type = child_ty_id, }); + self.ptr_types.getPtr(key).?.fwd_emitted = true; + return result_id; } diff --git a/src/link/SpirV/prune_unused.zig b/src/link/SpirV/prune_unused.zig index 59be6a5b1e..51903f9424 100644 --- a/src/link/SpirV/prune_unused.zig +++ b/src/link/SpirV/prune_unused.zig @@ -39,6 +39,7 @@ fn canPrune(op: Opcode) bool { .Arithmetic, .RelationalAndLogical, .Bit, + .Annotation, => true, else => switch (op) { .OpFunction, @@ -273,7 +274,7 @@ pub fn run(parser: *BinaryModule.Parser, binary: *BinaryModule, progress: std.Pr .alive = try std.DynamicBitSetUnmanaged.initEmpty(a, info.result_id_to_code_offset.count()), }; - // Mark initial stuff as slive + // Mark initial stuff as alive { var it = binary.iterateInstructions(); while (it.next()) |inst| {