Commit 44fe9c52e1

Andrew Kelley <andrew@ziglang.org>
2021-07-19 07:32:07
stage2: wasm backend: update to latest naming convention
1 parent 934ebbe
Changed files (1)
src
codegen
src/codegen/wasm.zig
@@ -792,43 +792,45 @@ pub const Context = struct {
     fn genInst(self: *Context, inst: Air.Inst.Index) !WValue {
         const air_tags = self.air.instructions.items(.tag);
         return switch (air_tags[inst]) {
-            .add => self.genBinOp(inst, .add),
-            .alloc => self.genAlloc(inst),
-            .arg => self.genArg(inst),
-            .bit_and => self.genBinOp(inst, .@"and"),
-            .bitcast => self.genBitcast(inst),
-            .bit_or => self.genBinOp(inst, .@"or"),
-            .block => self.genBlock(inst),
-            .bool_and => self.genBinOp(inst, .@"and"),
-            .bool_or => self.genBinOp(inst, .@"or"),
-            .breakpoint => self.genBreakpoint(inst),
-            .br => self.genBr(inst),
-            .call => self.genCall(inst),
-            .cmp_eq => self.genCmp(inst, .eq),
-            .cmp_gte => self.genCmp(inst, .gte),
-            .cmp_gt => self.genCmp(inst, .gt),
-            .cmp_lte => self.genCmp(inst, .lte),
-            .cmp_lt => self.genCmp(inst, .lt),
-            .cmp_neq => self.genCmp(inst, .neq),
-            .cond_br => self.genCondBr(inst),
+            .add => self.airBinOp(inst, .add),
+            .sub => self.airBinOp(inst, .sub),
+            .mul => self.airBinOp(inst, .mul),
+            .div => self.airBinOp(inst, .div),
+            .bit_and => self.airBinOp(inst, .@"and"),
+            .bit_or => self.airBinOp(inst, .@"or"),
+            .bool_and => self.airBinOp(inst, .@"and"),
+            .bool_or => self.airBinOp(inst, .@"or"),
+            .xor => self.airBinOp(inst, .xor),
+
+            .cmp_eq => self.airCmp(inst, .eq),
+            .cmp_gte => self.airCmp(inst, .gte),
+            .cmp_gt => self.airCmp(inst, .gt),
+            .cmp_lte => self.airCmp(inst, .lte),
+            .cmp_lt => self.airCmp(inst, .lt),
+            .cmp_neq => self.airCmp(inst, .neq),
+
+            .alloc => self.airAlloc(inst),
+            .arg => self.airArg(inst),
+            .bitcast => self.airBitcast(inst),
+            .block => self.airBlock(inst),
+            .breakpoint => self.airBreakpoint(inst),
+            .br => self.airBr(inst),
+            .call => self.airCall(inst),
+            .cond_br => self.airCondBr(inst),
             .constant => unreachable,
             .dbg_stmt => WValue.none,
-            .div => self.genBinOp(inst, .div),
-            .is_err => self.genIsErr(inst, .i32_ne),
-            .is_non_err => self.genIsErr(inst, .i32_eq),
-            .load => self.genLoad(inst),
-            .loop => self.genLoop(inst),
-            .mul => self.genBinOp(inst, .mul),
-            .not => self.genNot(inst),
-            .ret => self.genRet(inst),
-            .store => self.genStore(inst),
-            .struct_field_ptr => self.genStructFieldPtr(inst),
-            .sub => self.genBinOp(inst, .sub),
-            .switch_br => self.genSwitchBr(inst),
-            .unreach => self.genUnreachable(inst),
-            .unwrap_errunion_payload => self.genUnwrapErrUnionPayload(inst),
-            .wrap_errunion_payload => self.genWrapErrUnionPayload(inst),
-            .xor => self.genBinOp(inst, .xor),
+            .is_err => self.airIsErr(inst, .i32_ne),
+            .is_non_err => self.airIsErr(inst, .i32_eq),
+            .load => self.airLoad(inst),
+            .loop => self.airLoop(inst),
+            .not => self.airNot(inst),
+            .ret => self.airRet(inst),
+            .store => self.airStore(inst),
+            .struct_field_ptr => self.airStructFieldPtr(inst),
+            .switch_br => self.airSwitchBr(inst),
+            .unreach => self.airUnreachable(inst),
+            .unwrap_errunion_payload => self.airUnwrapErrUnionPayload(inst),
+            .wrap_errunion_payload => self.airWrapErrUnionPayload(inst),
             else => |tag| self.fail("TODO: Implement wasm inst: {s}", .{@tagName(tag)}),
         };
     }
@@ -840,7 +842,7 @@ pub const Context = struct {
         }
     }
 
-    fn genRet(self: *Context, inst: Air.Inst.Index) InnerError!WValue {
+    fn airRet(self: *Context, inst: Air.Inst.Index) InnerError!WValue {
         const un_op = self.air.instructions.items(.data)[inst].un_op;
         const operand = self.resolveInst(un_op);
         try self.emitWValue(operand);
@@ -848,7 +850,7 @@ pub const Context = struct {
         return .none;
     }
 
-    fn genCall(self: *Context, inst: Air.Inst.Index) InnerError!WValue {
+    fn airCall(self: *Context, inst: Air.Inst.Index) InnerError!WValue {
         const pl_op = self.air.instructions.items(.data)[inst].pl_op;
         const extra = self.air.extraData(Air.Call, pl_op.payload);
         const args = self.air.extra[extra.end..][0..extra.data.args_len];
@@ -882,12 +884,12 @@ pub const Context = struct {
         return .none;
     }
 
-    fn genAlloc(self: *Context, inst: Air.Inst.Index) InnerError!WValue {
+    fn airAlloc(self: *Context, inst: Air.Inst.Index) InnerError!WValue {
         const elem_type = self.air.typeOfIndex(inst).elemType();
         return self.allocLocal(elem_type);
     }
 
-    fn genStore(self: *Context, inst: Air.Inst.Index) InnerError!WValue {
+    fn airStore(self: *Context, inst: Air.Inst.Index) InnerError!WValue {
         const bin_op = self.air.instructions.items(.data)[inst].bin_op;
         const writer = self.code.writer();
 
@@ -926,19 +928,19 @@ pub const Context = struct {
         return .none;
     }
 
-    fn genLoad(self: *Context, inst: Air.Inst.Index) InnerError!WValue {
+    fn airLoad(self: *Context, inst: Air.Inst.Index) InnerError!WValue {
         const ty_op = self.air.instructions.items(.data)[inst].ty_op;
         return self.resolveInst(ty_op.operand);
     }
 
-    fn genArg(self: *Context, inst: Air.Inst.Index) InnerError!WValue {
+    fn airArg(self: *Context, inst: Air.Inst.Index) InnerError!WValue {
         _ = inst;
         // arguments share the index with locals
         defer self.local_index += 1;
         return WValue{ .local = self.local_index };
     }
 
-    fn genBinOp(self: *Context, inst: Air.Inst.Index, op: Op) InnerError!WValue {
+    fn airBinOp(self: *Context, inst: Air.Inst.Index, op: Op) InnerError!WValue {
         const bin_op = self.air.instructions.items(.data)[inst].bin_op;
         const lhs = self.resolveInst(bin_op.lhs);
         const rhs = self.resolveInst(bin_op.rhs);
@@ -1074,7 +1076,7 @@ pub const Context = struct {
         }
     }
 
-    fn genBlock(self: *Context, inst: Air.Inst.Index) InnerError!WValue {
+    fn airBlock(self: *Context, inst: Air.Inst.Index) InnerError!WValue {
         const ty_pl = self.air.instructions.items(.data)[inst].ty_pl;
         const block_ty = try self.genBlockType(self.air.getRefType(ty_pl.ty));
         const extra = self.air.extraData(Air.Block, ty_pl.payload);
@@ -1108,7 +1110,7 @@ pub const Context = struct {
         self.block_depth -= 1;
     }
 
-    fn genLoop(self: *Context, inst: Air.Inst.Index) InnerError!WValue {
+    fn airLoop(self: *Context, inst: Air.Inst.Index) InnerError!WValue {
         const ty_pl = self.air.instructions.items(.data)[inst].ty_pl;
         const loop = self.air.extraData(Air.Block, ty_pl.payload);
         const body = self.air.extra[loop.end..][0..loop.data.body_len];
@@ -1127,7 +1129,7 @@ pub const Context = struct {
         return .none;
     }
 
-    fn genCondBr(self: *Context, inst: Air.Inst.Index) InnerError!WValue {
+    fn airCondBr(self: *Context, inst: Air.Inst.Index) InnerError!WValue {
         const pl_op = self.air.instructions.items(.data)[inst].pl_op;
         const condition = self.resolveInst(pl_op.operand);
         const extra = self.air.extraData(Air.CondBr, pl_op.payload);
@@ -1166,7 +1168,7 @@ pub const Context = struct {
         return .none;
     }
 
-    fn genCmp(self: *Context, inst: Air.Inst.Index, op: std.math.CompareOperator) InnerError!WValue {
+    fn airCmp(self: *Context, inst: Air.Inst.Index, op: std.math.CompareOperator) InnerError!WValue {
         // save offset, so potential conditions can insert blocks in front of
         // the comparison that we can later jump back to
         const offset = self.code.items.len;
@@ -1202,7 +1204,7 @@ pub const Context = struct {
         return WValue{ .code_offset = offset };
     }
 
-    fn genBr(self: *Context, inst: Air.Inst.Index) InnerError!WValue {
+    fn airBr(self: *Context, inst: Air.Inst.Index) InnerError!WValue {
         const br = self.air.instructions.items(.data)[inst].br;
 
         // if operand has codegen bits we should break with a value
@@ -1220,7 +1222,7 @@ pub const Context = struct {
         return .none;
     }
 
-    fn genNot(self: *Context, inst: Air.Inst.Index) InnerError!WValue {
+    fn airNot(self: *Context, inst: Air.Inst.Index) InnerError!WValue {
         const ty_op = self.air.instructions.items(.data)[inst].ty_op;
         const offset = self.code.items.len;
 
@@ -1238,7 +1240,7 @@ pub const Context = struct {
         return WValue{ .code_offset = offset };
     }
 
-    fn genBreakpoint(self: *Context, inst: Air.Inst.Index) InnerError!WValue {
+    fn airBreakpoint(self: *Context, inst: Air.Inst.Index) InnerError!WValue {
         _ = self;
         _ = inst;
         // unsupported by wasm itself. Can be implemented once we support DWARF
@@ -1246,18 +1248,18 @@ pub const Context = struct {
         return .none;
     }
 
-    fn genUnreachable(self: *Context, inst: Air.Inst.Index) InnerError!WValue {
+    fn airUnreachable(self: *Context, inst: Air.Inst.Index) InnerError!WValue {
         _ = inst;
         try self.code.append(wasm.opcode(.@"unreachable"));
         return .none;
     }
 
-    fn genBitcast(self: *Context, inst: Air.Inst.Index) InnerError!WValue {
+    fn airBitcast(self: *Context, inst: Air.Inst.Index) InnerError!WValue {
         const ty_op = self.air.instructions.items(.data)[inst].ty_op;
         return self.resolveInst(ty_op.operand);
     }
 
-    fn genStructFieldPtr(self: *Context, inst: Air.Inst.Index) InnerError!WValue {
+    fn airStructFieldPtr(self: *Context, inst: Air.Inst.Index) InnerError!WValue {
         const ty_pl = self.air.instructions.items(.data)[inst].ty_pl;
         const extra = self.air.extraData(Air.StructField, ty_pl.payload);
         const struct_ptr = self.resolveInst(extra.data.struct_ptr);
@@ -1265,7 +1267,7 @@ pub const Context = struct {
         return WValue{ .local = struct_ptr.multi_value.index + @intCast(u32, extra.data.field_index) };
     }
 
-    fn genSwitchBr(self: *Context, inst: Air.Inst.Index) InnerError!WValue {
+    fn airSwitchBr(self: *Context, inst: Air.Inst.Index) InnerError!WValue {
         const pl_op = self.air.instructions.items(.data)[inst].pl_op;
         const extra = self.air.extraData(Air.SwitchBr, pl_op.payload);
         const cases = self.air.extra[extra.end..][0..extra.data.cases_len];
@@ -1319,7 +1321,7 @@ pub const Context = struct {
         return .none;
     }
 
-    fn genIsErr(self: *Context, inst: Air.Inst.Index, opcode: wasm.Opcode) InnerError!WValue {
+    fn airIsErr(self: *Context, inst: Air.Inst.Index, opcode: wasm.Opcode) InnerError!WValue {
         const un_op = self.air.instructions.items(.data)[inst].un_op;
         const operand = self.resolveInst(un_op);
         const offset = self.code.items.len;
@@ -1336,7 +1338,7 @@ pub const Context = struct {
         return WValue{ .code_offset = offset };
     }
 
-    fn genUnwrapErrUnionPayload(self: *Context, inst: Air.Inst.Index) InnerError!WValue {
+    fn airUnwrapErrUnionPayload(self: *Context, inst: Air.Inst.Index) InnerError!WValue {
         const ty_op = self.air.instructions.items(.data)[inst].ty_op;
         const operand = self.resolveInst(ty_op.operand);
         // The index of multi_value contains the error code. To get the initial index of the payload we get
@@ -1346,7 +1348,7 @@ pub const Context = struct {
         return WValue{ .local = operand.multi_value.index + 1 };
     }
 
-    fn genWrapErrUnionPayload(self: *Context, inst: Air.Inst.Index) InnerError!WValue {
+    fn airWrapErrUnionPayload(self: *Context, inst: Air.Inst.Index) InnerError!WValue {
         const ty_op = self.air.instructions.items(.data)[inst].ty_op;
         return self.resolveInst(ty_op.operand);
     }