aboutsummaryrefslogtreecommitdiff
path: root/src/codegen
diff options
context:
space:
mode:
authormlugg <mlugg@mlugg.co.uk>2024-07-04 10:31:59 +0100
committerJacob Young <jacobly0@users.noreply.github.com>2024-07-10 11:20:08 -0400
commitf93a10f664fbbb67aeda031583a790e2a842fb01 (patch)
tree04d3bdc234ecb3e58f2d8f31a504e2f8cefaa8fb /src/codegen
parent3aa48bf859b3eba17c0431c15ae79ab303219eff (diff)
downloadzig-f93a10f664fbbb67aeda031583a790e2a842fb01.tar.gz
zig-f93a10f664fbbb67aeda031583a790e2a842fb01.zip
Air: store param names directly instead of referencing Zir
Diffstat (limited to 'src/codegen')
-rw-r--r--src/codegen/llvm.zig8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/codegen/llvm.zig b/src/codegen/llvm.zig
index 0a23d687d2..40110993b9 100644
--- a/src/codegen/llvm.zig
+++ b/src/codegen/llvm.zig
@@ -8859,19 +8859,21 @@ pub const FuncGen = struct {
self.arg_index += 1;
// llvm does not support debug info for naked function arguments
- if (self.wip.strip or self.is_naked) return arg_val;
+ if (self.is_naked) return arg_val;
const inst_ty = self.typeOfIndex(inst);
if (needDbgVarWorkaround(o)) return arg_val;
- const src_index = self.air.instructions.items(.data)[@intFromEnum(inst)].arg.src_index;
+ const name = self.air.instructions.items(.data)[@intFromEnum(inst)].arg.name;
+ if (name == .none) return arg_val;
+
const func_index = self.dg.decl.getOwnedFunctionIndex();
const func = mod.funcInfo(func_index);
const lbrace_line = mod.declPtr(func.owner_decl).navSrcLine(mod) + func.lbrace_line + 1;
const lbrace_col = func.lbrace_column + 1;
const debug_parameter = try o.builder.debugParameter(
- try o.builder.metadataString(mod.getParamName(func_index, src_index)),
+ try o.builder.metadataString(self.air.nullTerminatedString(@intFromEnum(name))),
self.file,
self.scope,
lbrace_line,