authorgravatar for jacobly@ziglang.orgJacob Young <jacobly@ziglang.org> 2024-06-14 11:37:44-04:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2024-06-16 23:30:57-04:00
logd208e59496a289c4a75ef417b025eb009ff2f66d
treeee0dabe5ec5ad4a57e095b2c540723c3d444ebfc
parent6220c754cf3387aebbcba270789ec67e652398cb

llvm: avoid debug info for naked function arguments

This is not supported by llvm.

1 files changed, 4 insertions(+), 1 deletions(-)

src/codegen/llvm.zig+4-1
......@@ -1732,6 +1732,7 @@ pub const Object = struct {
17321732 .liveness = liveness,
17331733 .dg = &dg,
17341734 .wip = wip,
1735 .is_naked = fn_info.cc == .Naked,
17351736 .ret_ptr = ret_ptr,
17361737 .args = args.items,
17371738 .arg_index = 0,
......@@ -4801,6 +4802,7 @@ pub const FuncGen = struct {
48014802 air: Air,
48024803 liveness: Liveness,
48034804 wip: Builder.WipFunction,
4805 is_naked: bool,
48044806
48054807 file: Builder.Metadata,
48064808 scope: Builder.Metadata,
......@@ -8846,7 +8848,8 @@ pub const FuncGen = struct {
88468848 const arg_val = self.args[self.arg_index];
88478849 self.arg_index += 1;
88488850
8849 if (self.wip.strip) return arg_val;
8851 // llvm does not support debug info for naked function arguments
8852 if (self.wip.strip or self.is_naked) return arg_val;
88508853
88518854 const inst_ty = self.typeOfIndex(inst);
88528855 if (needDbgVarWorkaround(o)) return arg_val;