x86_64: rewrite inst tracking

This commit is contained in:
Jacob Young 2023-04-08 07:36:35 -04:00 committed by mlugg
parent 6f09a7041e
commit 488d804a1c
No known key found for this signature in database
GPG Key ID: 58978E823BDE3EF9
3 changed files with 495 additions and 667 deletions

File diff suppressed because it is too large Load Diff

View File

@ -95,6 +95,10 @@ pub fn RegisterManager(
return indexOfReg(tracked_registers, reg);
}
pub fn regAtTrackedIndex(index: RegisterBitSet.ShiftInt) Register {
return tracked_registers[index];
}
/// Returns true when this register is not tracked
pub fn isRegFree(self: Self, reg: Register) bool {
const index = indexOfRegIntoTracked(reg) orelse return true;

View File

@ -274,7 +274,6 @@ test "two counters" {
test "1-based counter and ptr to array" {
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
var ok: usize = 0;