aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJacob Young <jacobly0@users.noreply.github.com>2023-03-24 21:33:17 -0400
committerJacob Young <jacobly0@users.noreply.github.com>2023-03-24 21:34:38 -0400
commit4ab4bd04fe8f4308d67b757eaa88f5a356aea688 (patch)
tree1358b197a48b4b0243b1e953583f494f9f9e91d0 /src
parent0987ed1970bc0332844a0e398b3c981b38627ed6 (diff)
downloadzig-4ab4bd04fe8f4308d67b757eaa88f5a356aea688.tar.gz
zig-4ab4bd04fe8f4308d67b757eaa88f5a356aea688.zip
x86_64: add back assume unused
This seems to have been asserting due to a value tracking bug that has since been fixed.
Diffstat (limited to 'src')
-rw-r--r--src/arch/x86_64/CodeGen.zig4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/arch/x86_64/CodeGen.zig b/src/arch/x86_64/CodeGen.zig
index 7335d3ac94..66e1904420 100644
--- a/src/arch/x86_64/CodeGen.zig
+++ b/src/arch/x86_64/CodeGen.zig
@@ -2586,7 +2586,7 @@ fn airPtrElemVal(self: *Self, inst: Air.Inst.Index) !void {
const index_ty = self.air.typeOf(bin_op.rhs);
const index = try self.resolveInst(bin_op.rhs);
const index_lock: ?RegisterLock = switch (index) {
- .register => |reg| self.register_manager.lockReg(reg),
+ .register => |reg| self.register_manager.lockRegAssumeUnused(reg),
else => null,
};
defer if (index_lock) |lock| self.register_manager.unlockReg(lock);
@@ -2635,7 +2635,7 @@ fn airPtrElemPtr(self: *Self, inst: Air.Inst.Index) !void {
const index_ty = self.air.typeOf(extra.rhs);
const index = try self.resolveInst(extra.rhs);
const index_lock: ?RegisterLock = switch (index) {
- .register => |reg| self.register_manager.lockReg(reg),
+ .register => |reg| self.register_manager.lockRegAssumeUnused(reg),
else => null,
};
defer if (index_lock) |lock| self.register_manager.unlockReg(lock);