authorgravatar for kubkon@jakubkonka.comJakub Konka <kubkon@jakubkonka.com> 2022-11-08 13:59:06+01:00
committergravatar for kubkon@jakubkonka.comJakub Konka <kubkon@jakubkonka.com> 2022-11-08 13:59:06+01:00
log179f16904f47a0455c656a49bd7dd5ee8ceb54fe
tree7c4a7fcd0d8bf9d81f0a1b615a7aeb7571a725b2
parent32ad218f5aa389d5827af6367d180efe2f5bba38

aarch64: circumvent zig0 inference problems


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

src/arch/aarch64/CodeGen.zig+7-1
...@@ -3067,7 +3067,12 @@ fn airSaveErrReturnTraceIndex(self: *Self, inst: Air.Inst.Index) !void {...@@ -3067,7 +3067,12 @@ fn airSaveErrReturnTraceIndex(self: *Self, inst: Air.Inst.Index) !void {
30673067
3068fn airWrapOptional(self: *Self, inst: Air.Inst.Index) !void {3068fn airWrapOptional(self: *Self, inst: Air.Inst.Index) !void {
3069 const ty_op = self.air.instructions.items(.data)[inst].ty_op;3069 const ty_op = self.air.instructions.items(.data)[inst].ty_op;
3070 const result: MCValue = if (self.liveness.isUnused(inst)) .dead else result: {3070
3071 if (self.liveness.isUnused(inst)) {
3072 return self.finishAir(inst, .dead, .{ ty_op.operand, .none, .none });
3073 }
3074
3075 const result: MCValue = result: {
3071 const payload_ty = self.air.typeOf(ty_op.operand);3076 const payload_ty = self.air.typeOf(ty_op.operand);
3072 if (!payload_ty.hasRuntimeBits()) {3077 if (!payload_ty.hasRuntimeBits()) {
3073 break :result MCValue{ .immediate = 1 };3078 break :result MCValue{ .immediate = 1 };
...@@ -3100,6 +3105,7 @@ fn airWrapOptional(self: *Self, inst: Air.Inst.Index) !void {...@@ -3100,6 +3105,7 @@ fn airWrapOptional(self: *Self, inst: Air.Inst.Index) !void {
31003105
3101 break :result MCValue{ .stack_offset = stack_offset };3106 break :result MCValue{ .stack_offset = stack_offset };
3102 };3107 };
3108
3103 return self.finishAir(inst, result, .{ ty_op.operand, .none, .none });3109 return self.finishAir(inst, result, .{ ty_op.operand, .none, .none });
3104}3110}
31053111