aboutsummaryrefslogtreecommitdiff
path: root/src/Autodoc.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/Autodoc.zig')
-rw-r--r--src/Autodoc.zig22
1 files changed, 21 insertions, 1 deletions
diff --git a/src/Autodoc.zig b/src/Autodoc.zig
index 47b0c8d3c2..5b578841c2 100644
--- a/src/Autodoc.zig
+++ b/src/Autodoc.zig
@@ -2984,13 +2984,33 @@ fn walkInstruction(
const param_index = self.exprs.items.len;
try self.exprs.append(self.arena, param.expr);
- self.exprs.items[bin_index] = .{ .builtin = .{ .name = @tagName(tags[inst_index]), .param = param_index } };
+ self.exprs.items[bin_index] = .{ .builtin = .{ .name = @tagName(extended.opcode), .param = param_index } };
return DocData.WalkResult{
.typeRef = param.typeRef orelse .{ .type = @enumToInt(Ref.type_type) },
.expr = .{ .builtinIndex = bin_index },
};
},
+ .work_item_id,
+ .work_group_size,
+ .work_group_id,
+ => {
+ const extra = file.zir.extraData(Zir.Inst.UnNode, extended.operand).data;
+ const bin_index = self.exprs.items.len;
+ try self.exprs.append(self.arena, .{ .builtin = .{ .param = 0 } });
+ const param = try self.walkRef(file, parent_scope, parent_src, extra.operand, false);
+
+ const param_index = self.exprs.items.len;
+ try self.exprs.append(self.arena, param.expr);
+
+ self.exprs.items[bin_index] = .{ .builtin = .{ .name = @tagName(extended.opcode), .param = param_index } };
+
+ return DocData.WalkResult{
+ // from docs we know they return u32
+ .typeRef = .{ .type = @enumToInt(Ref.u32_type) },
+ .expr = .{ .builtinIndex = bin_index },
+ };
+ },
.cmpxchg => {
const extra = file.zir.extraData(Zir.Inst.Cmpxchg, extended.operand).data;