| ... | ... | @@ -85046,13 +85046,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 85046 | 85046 | .data = .{ .ip_index = old_inline_func }, |
| 85047 | 85047 | }); |
| 85048 | 85048 | }, |
| 85049 | | .dbg_var_ptr, |
| 85050 | | .dbg_var_val, |
| 85051 | | .dbg_arg_inline, |
| 85052 | | => |air_tag| if (use_old) try cg.airDbgVar(inst) else if (!cg.mod.strip) { |
| 85049 | .dbg_var_ptr, .dbg_var_val, .dbg_arg_inline => |air_tag| if (use_old) try cg.airDbgVar(inst) else if (!cg.mod.strip) { |
| 85053 | 85050 | const pl_op = air_datas[@intFromEnum(inst)].pl_op; |
| 85054 | 85051 | const air_name: Air.NullTerminatedString = @enumFromInt(pl_op.payload); |
| 85055 | | const ty = cg.typeOf(pl_op.operand); |
| 85052 | const op_ty = cg.typeOf(pl_op.operand); |
| 85053 | const local_ty = switch (air_tag) { |
| 85054 | else => unreachable, |
| 85055 | .dbg_var_ptr => op_ty.childType(zcu), |
| 85056 | .dbg_var_val, .dbg_arg_inline => op_ty, |
| 85057 | }; |
| 85056 | 85058 | var ops = try cg.tempsFromOperands(inst, .{pl_op.operand}); |
| 85057 | 85059 | var mcv = ops[0].tracking(cg).short; |
| 85058 | 85060 | switch (mcv) { |
| ... | ... | @@ -85076,10 +85078,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 85076 | 85078 | }, |
| 85077 | 85079 | else => try cg.addString(air_name.toSlice(cg.air)), |
| 85078 | 85080 | }, |
| 85079 | | .type = ty.toIntern(), |
| 85081 | .type = local_ty.toIntern(), |
| 85080 | 85082 | }); |
| 85081 | 85083 | |
| 85082 | | try cg.genLocalDebugInfo(air_tag, ty, ops[0].tracking(cg).short); |
| 85084 | try cg.genLocalDebugInfo(air_tag, local_ty, ops[0].tracking(cg).short); |
| 85083 | 85085 | try ops[0].die(cg); |
| 85084 | 85086 | }, |
| 85085 | 85087 | .is_null => if (use_old) try cg.airIsNull(inst) else { |
| ... | ... | @@ -174364,7 +174366,12 @@ fn airDbgVar(cg: *CodeGen, inst: Air.Inst.Index) !void { |
| 174364 | 174366 | const air_tag = cg.air.instructions.items(.tag)[@intFromEnum(inst)]; |
| 174365 | 174367 | const pl_op = cg.air.instructions.items(.data)[@intFromEnum(inst)].pl_op; |
| 174366 | 174368 | const air_name: Air.NullTerminatedString = @enumFromInt(pl_op.payload); |
| 174367 | | const ty = cg.typeOf(pl_op.operand); |
| 174369 | const op_ty = cg.typeOf(pl_op.operand); |
| 174370 | const local_ty = switch (air_tag) { |
| 174371 | else => unreachable, |
| 174372 | .dbg_var_ptr => op_ty.childType(cg.pt.zcu), |
| 174373 | .dbg_var_val, .dbg_arg_inline => op_ty, |
| 174374 | }; |
| 174368 | 174375 | |
| 174369 | 174376 | try cg.mir_locals.append(cg.gpa, .{ |
| 174370 | 174377 | .name = switch (air_name) { |
| ... | ... | @@ -174374,10 +174381,10 @@ fn airDbgVar(cg: *CodeGen, inst: Air.Inst.Index) !void { |
| 174374 | 174381 | }, |
| 174375 | 174382 | else => try cg.addString(air_name.toSlice(cg.air)), |
| 174376 | 174383 | }, |
| 174377 | | .type = ty.toIntern(), |
| 174384 | .type = local_ty.toIntern(), |
| 174378 | 174385 | }); |
| 174379 | 174386 | |
| 174380 | | try cg.genLocalDebugInfo(air_tag, ty, try cg.resolveInst(pl_op.operand)); |
| 174387 | try cg.genLocalDebugInfo(air_tag, local_ty, try cg.resolveInst(pl_op.operand)); |
| 174381 | 174388 | return cg.finishAir(inst, .unreach, .{ pl_op.operand, .none, .none }); |
| 174382 | 174389 | } |
| 174383 | 174390 | |