diff options
| author | Robin Voetter <robin@voetter.nl> | 2023-09-21 23:02:53 +0200 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2023-09-23 12:36:56 -0700 |
| commit | 572517376a7695693c59a0ec4ec6cc5442003e3a (patch) | |
| tree | 6b93537b4f022f84e3646598b9af6721258969bc /src/codegen/spirv.zig | |
| parent | 68c7fc5c595b4a48f95b3f2f8c4d0a6c3a388667 (diff) | |
| download | zig-572517376a7695693c59a0ec4ec6cc5442003e3a.tar.gz zig-572517376a7695693c59a0ec4ec6cc5442003e3a.zip | |
spirv: air dbg_var_val and dbg_var_ptr
Diffstat (limited to 'src/codegen/spirv.zig')
| -rw-r--r-- | src/codegen/spirv.zig | 34 |
1 files changed, 14 insertions, 20 deletions
diff --git a/src/codegen/spirv.zig b/src/codegen/spirv.zig index b7d749e141..97574961bc 100644 --- a/src/codegen/spirv.zig +++ b/src/codegen/spirv.zig @@ -1474,10 +1474,7 @@ pub const DeclGen = struct { try self.spv.addFunction(spv_decl_index, self.func); const fqn = ip.stringToSlice(try decl.getFullyQualifiedName(self.module)); - try self.spv.sections.debug_names.emit(self.gpa, .OpName, .{ - .target = decl_id, - .name = fqn, - }); + try self.spv.debugName(decl_id, fqn); // Temporarily generate a test kernel declaration if this is a test function. if (self.module.test_functions.contains(self.decl_index)) { @@ -1548,17 +1545,8 @@ pub const DeclGen = struct { try self.spv.addFunction(spv_decl_index, self.func); const fqn = ip.stringToSlice(try decl.getFullyQualifiedName(self.module)); - try self.spv.sections.debug_names.emit(self.gpa, .OpName, .{ - .target = decl_id, - .name = fqn, - }); - - const init_name = try std.fmt.allocPrint(self.gpa, "initializer of {s}", .{fqn}); - defer self.gpa.free(init_name); - try self.spv.sections.debug_names.emit(self.gpa, .OpName, .{ - .target = initializer_id, - .name = init_name, - }); + try self.spv.debugName(decl_id, fqn); + try self.spv.debugNameFmt(initializer_id, "initializer of {s}", .{fqn}); } } @@ -1756,11 +1744,10 @@ pub const DeclGen = struct { .switch_br => return self.airSwitchBr(inst), .unreach, .trap => return self.airUnreach(), - .dbg_stmt => return self.airDbgStmt(inst), - .dbg_inline_begin => return self.airDbgInlineBegin(inst), - .dbg_inline_end => return self.airDbgInlineEnd(inst), - .dbg_var_ptr => return, - .dbg_var_val => return, + .dbg_stmt => return self.airDbgStmt(inst), + .dbg_inline_begin => return self.airDbgInlineBegin(inst), + .dbg_inline_end => return self.airDbgInlineEnd(inst), + .dbg_var_ptr, .dbg_var_val => return self.airDbgVar(inst), .dbg_block_begin => return, .dbg_block_end => return, @@ -3566,6 +3553,13 @@ pub const DeclGen = struct { _ = self.base_line_stack.pop(); } + fn airDbgVar(self: *DeclGen, inst: Air.Inst.Index) !void { + const pl_op = self.air.instructions.items(.data)[inst].pl_op; + const target_id = try self.resolve(pl_op.operand); + const name = self.air.nullTerminatedString(pl_op.payload); + try self.spv.debugName(target_id, name); + } + fn airAssembly(self: *DeclGen, inst: Air.Inst.Index) !?IdRef { const mod = self.module; const ty_pl = self.air.instructions.items(.data)[inst].ty_pl; |
