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 {...@@ -1732,6 +1732,7 @@ pub const Object = struct {
1732 .liveness = liveness,1732 .liveness = liveness,
1733 .dg = &dg,1733 .dg = &dg,
1734 .wip = wip,1734 .wip = wip,
1735 .is_naked = fn_info.cc == .Naked,
1735 .ret_ptr = ret_ptr,1736 .ret_ptr = ret_ptr,
1736 .args = args.items,1737 .args = args.items,
1737 .arg_index = 0,1738 .arg_index = 0,
...@@ -4801,6 +4802,7 @@ pub const FuncGen = struct {...@@ -4801,6 +4802,7 @@ pub const FuncGen = struct {
4801 air: Air,4802 air: Air,
4802 liveness: Liveness,4803 liveness: Liveness,
4803 wip: Builder.WipFunction,4804 wip: Builder.WipFunction,
4805 is_naked: bool,
48044806
4805 file: Builder.Metadata,4807 file: Builder.Metadata,
4806 scope: Builder.Metadata,4808 scope: Builder.Metadata,
...@@ -8846,7 +8848,8 @@ pub const FuncGen = struct {...@@ -8846,7 +8848,8 @@ pub const FuncGen = struct {
8846 const arg_val = self.args[self.arg_index];8848 const arg_val = self.args[self.arg_index];
8847 self.arg_index += 1;8849 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
8851 const inst_ty = self.typeOfIndex(inst);8854 const inst_ty = self.typeOfIndex(inst);
8852 if (needDbgVarWorkaround(o)) return arg_val;8855 if (needDbgVarWorkaround(o)) return arg_val;