stage2 RISCV64: Move to new regalloc freeze API

This commit is contained in:
joachimschmidt557 2022-01-29 13:03:53 +01:00
parent 2a1727e93c
commit 1fd41af356
No known key found for this signature in database
GPG Key ID: E0B575BE2884ACC5

View File

@ -1208,14 +1208,16 @@ fn load(self: *Self, dst_mcv: MCValue, ptr: MCValue, ptr_ty: Type) InnerError!vo
.register => {
return self.fail("TODO implement loading from MCValue.register", .{});
},
.memory => |addr| {
.memory,
.stack_offset,
=> {
const reg = try self.register_manager.allocReg(null, &.{});
try self.genSetReg(ptr_ty, reg, .{ .memory = addr });
self.register_manager.freezeRegs(&.{reg});
defer self.register_manager.unfreezeRegs(&.{reg});
try self.genSetReg(ptr_ty, reg, ptr);
try self.load(dst_mcv, .{ .register = reg }, ptr_ty);
},
.stack_offset => {
return self.fail("TODO implement loading from MCValue.stack_offset", .{});
},
}
}