diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2021-05-15 21:44:38 -0700 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2021-05-15 21:44:38 -0700 |
| commit | 597082adf45cebbf2c6a81c3f732b6d2ce4a1435 (patch) | |
| tree | 9309977e204cceaac2c18efbea2153a69f86d1f4 /src/codegen.zig | |
| parent | 07606d12daabe8c201dba3d5b27e702ce58d0ffb (diff) | |
| parent | d98e39fa6864f287bc50f265f98b7195849afa68 (diff) | |
| download | zig-597082adf45cebbf2c6a81c3f732b6d2ce4a1435.tar.gz zig-597082adf45cebbf2c6a81c3f732b6d2ce4a1435.zip | |
Merge remote-tracking branch 'origin/master' into stage2-whole-file-astgen
Conflicts:
* build.zig
* src/Compilation.zig
* src/codegen/spirv/spec.zig
* src/link/SpirV.zig
* test/stage2/darwin.zig
- this one might be problematic; start.zig looks for `main` in the
root source file, not `_main`. Not sure why there is an underscore
there in master branch.
Diffstat (limited to 'src/codegen.zig')
| -rw-r--r-- | src/codegen.zig | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/src/codegen.zig b/src/codegen.zig index 374361ebce..c0656a3e4d 100644 --- a/src/codegen.zig +++ b/src/codegen.zig @@ -960,7 +960,7 @@ fn Function(comptime arch: std.Target.Cpu.Arch) type { /// allocated. A second call to `copyToTmpRegister` may return the same register. /// This can have a side effect of spilling instructions to the stack to free up a register. fn copyToTmpRegister(self: *Self, src: LazySrcLoc, ty: Type, mcv: MCValue) !Register { - const reg = try self.register_manager.allocRegWithoutTracking(&.{}); + const reg = try self.register_manager.allocReg(null, &.{}); try self.genSetReg(src, ty, reg, mcv); return reg; } @@ -2231,7 +2231,7 @@ fn Function(comptime arch: std.Target.Cpu.Arch) type { switch (mc_arg) { .none => continue, .register => |reg| { - try self.register_manager.getRegWithoutTracking(reg); + try self.register_manager.getReg(reg, null); try self.genSetReg(arg.src, arg.ty, reg, arg_mcv); }, .stack_offset => { @@ -2327,7 +2327,7 @@ fn Function(comptime arch: std.Target.Cpu.Arch) type { .compare_flags_signed => unreachable, .compare_flags_unsigned => unreachable, .register => |reg| { - try self.register_manager.getRegWithoutTracking(reg); + try self.register_manager.getReg(reg, null); try self.genSetReg(arg.src, arg.ty, reg, arg_mcv); }, .stack_offset => { @@ -2390,7 +2390,7 @@ fn Function(comptime arch: std.Target.Cpu.Arch) type { .compare_flags_signed => unreachable, .compare_flags_unsigned => unreachable, .register => |reg| { - try self.register_manager.getRegWithoutTracking(reg); + try self.register_manager.getReg(reg, null); try self.genSetReg(arg.src, arg.ty, reg, arg_mcv); }, .stack_offset => { @@ -2443,7 +2443,7 @@ fn Function(comptime arch: std.Target.Cpu.Arch) type { .register => |reg| { // TODO prevent this macho if block to be generated for all archs switch (arch) { - .x86_64, .aarch64 => try self.register_manager.getRegWithoutTracking(reg), + .x86_64, .aarch64 => try self.register_manager.getReg(reg, null), else => unreachable, } try self.genSetReg(arg.src, arg.ty, reg, arg_mcv); @@ -3134,7 +3134,7 @@ fn Function(comptime arch: std.Target.Cpu.Arch) type { const arg = inst.args[i]; const arg_mcv = try self.resolveInst(arg); - try self.register_manager.getRegWithoutTracking(reg); + try self.register_manager.getReg(reg, null); try self.genSetReg(inst.base.src, arg.ty, reg, arg_mcv); } @@ -3167,7 +3167,7 @@ fn Function(comptime arch: std.Target.Cpu.Arch) type { const arg = inst.args[i]; const arg_mcv = try self.resolveInst(arg); - try self.register_manager.getRegWithoutTracking(reg); + try self.register_manager.getReg(reg, null); try self.genSetReg(inst.base.src, arg.ty, reg, arg_mcv); } @@ -3202,7 +3202,7 @@ fn Function(comptime arch: std.Target.Cpu.Arch) type { const arg = inst.args[i]; const arg_mcv = try self.resolveInst(arg); - try self.register_manager.getRegWithoutTracking(reg); + try self.register_manager.getReg(reg, null); try self.genSetReg(inst.base.src, arg.ty, reg, arg_mcv); } @@ -3235,7 +3235,7 @@ fn Function(comptime arch: std.Target.Cpu.Arch) type { const arg = inst.args[i]; const arg_mcv = try self.resolveInst(arg); - try self.register_manager.getRegWithoutTracking(reg); + try self.register_manager.getReg(reg, null); try self.genSetReg(inst.base.src, arg.ty, reg, arg_mcv); } |
