authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2020-06-28 19:44:50-04:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2020-06-28 19:45:10-04:00
log1eed0cf0f328372ddd8938ad3a95e37cb15ce6fb
tree92ac5db6e2f0a6a22d305ed0d42412ae4207fdfd
parentaa92446365b97e167c4162122c66a02b4cbca031

zig fmt and delete unused type


2 files changed, 6 insertions(+), 28 deletions(-)

src-self-hosted/codegen.zig+5-6
......@@ -54,7 +54,7 @@ pub fn generateSymbol(
5454 // Prepare the function parameters
5555 switch (bin_file.options.target.cpu.arch) {
5656 .x86_64 => {
57 const integer_registers = [_]Reg(.x86_64){.rdi, .rsi, .rdx, .rcx, .r8, .r9};
57 const integer_registers = [_]Reg(.x86_64){ .rdi, .rsi, .rdx, .rcx, .r8, .r9 };
5858 var next_int_reg: usize = 0;
5959
6060 for (param_types) |param_type, src_i| {
......@@ -64,7 +64,7 @@ pub fn generateSymbol(
6464 try mc_args.append(.{ .stack_offset = next_stack_offset });
6565 next_stack_offset += param_type.abiSize(bin_file.options.target);
6666 } else {
67 try mc_args.append(.{ .register = @enumToInt(integer_registers[next_int_reg])});
67 try mc_args.append(.{ .register = @enumToInt(integer_registers[next_int_reg]) });
6868 next_int_reg += 1;
6969 }
7070 },
......@@ -75,10 +75,9 @@ pub fn generateSymbol(
7575 "TODO implement function parameters of type {}",
7676 .{@tagName(param_type.zigTypeTag())},
7777 ),
78 }
78 },
7979 }
8080 }
81
8281 },
8382 else => return Result{
8483 .fail = try ErrorMsg.create(
......@@ -113,7 +112,7 @@ pub fn generateSymbol(
113112
114113 function.gen() catch |err| switch (err) {
115114 error.CodegenFail => return Result{ .fail = function.err_msg.? },
116 else => |e| return e,
115 else => |e| return e,
117116 };
118117
119118 if (function.err_msg) |em| {
......@@ -689,7 +688,7 @@ const Function = struct {
689688 },
690689 .stack_offset => |off| {
691690 return self.fail(src, "TODO implement genSetReg for stack variables", .{});
692 }
691 },
693692 },
694693 else => return self.fail(src, "TODO implement genSetReg for more architectures", .{}),
695694 }
src-self-hosted/codegen/x86_64.zig+1-22
......@@ -67,25 +67,4 @@ pub const Register = enum(u8) {
6767 }
6868};
6969
70// zig fmt: on
71
72/// After argument values have been computed, they are placed either in registers
73/// or pushed on the stack. The way values are passed depends on the class.
74pub const ParameterClass = enum {
75 /// Integral types that fit into one of the general purpose registers.
76 integer,
77 /// Types that fit into a vector register.
78 sse,
79 /// Types that fit into a vector register and can be passed
80 /// and returned in the upper bytes of it.
81 sse_up,
82 /// Types that will be returned via the x87FPU.
83 x87,
84 /// Types that will be returned via the x87FPU and can be passed and returned
85 /// in the upper bytes of it.
86 x87_up,
87 /// Types that will be returned via the x87FPU.
88 complex_x87,
89 /// Types that will be passed and returned in mem-ory via the stack.
90 memory,
91};
70// zig fmt: on
\ No newline at end of file