authorgravatar for mlugg@mlugg.co.ukMatthew Lugg <mlugg@mlugg.co.uk> 2023-09-22 23:53:33+01:00
committergravatar for mlugg@mlugg.co.ukMatthew Lugg <mlugg@mlugg.co.uk> 2023-09-23 14:45:59+01:00
logce919ccf45951856a762ffdb8ef850301cd8c588
tree93c3b3365da7ab16bd29fd3b7e650d8496f24aac
parent05f78adeaf7685e6107da7c3533b233ce19a54b8

Sema: do not emit dbg_var_val and dbg_var_ptr instructions for comptime-only types


1 files changed, 6 insertions(+), 8 deletions(-)

src/Sema.zig+6-8
...@@ -6526,15 +6526,13 @@ fn addDbgVar(...@@ -6526,15 +6526,13 @@ fn addDbgVar(
6526) CompileError!void {6526) CompileError!void {
6527 const mod = sema.mod;6527 const mod = sema.mod;
6528 const operand_ty = sema.typeOf(operand);6528 const operand_ty = sema.typeOf(operand);
6529 switch (air_tag) {6529 const val_ty = switch (air_tag) {
6530 .dbg_var_ptr => {6530 .dbg_var_ptr => operand_ty.childType(mod),
6531 if (!(try sema.typeHasRuntimeBits(operand_ty.childType(mod)))) return;6531 .dbg_var_val => operand_ty,
6532 },
6533 .dbg_var_val => {
6534 if (!(try sema.typeHasRuntimeBits(operand_ty))) return;
6535 },
6536 else => unreachable,6532 else => unreachable,
6537 }6533 };
6534 if (try sema.typeRequiresComptime(val_ty)) return;
6535 if (!(try sema.typeHasRuntimeBits(val_ty))) return;
65386536
6539 try sema.queueFullTypeResolution(operand_ty);6537 try sema.queueFullTypeResolution(operand_ty);
65406538