aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLoris Cro <kappaloris@gmail.com>2023-03-31 17:30:09 +0200
committerGitHub <noreply@github.com>2023-03-31 17:30:09 +0200
commit9cb2919d500520d280e09d0990809d538aa32b56 (patch)
treee8a67b5f8325ebd6b0acf6f734daf9333455d281 /src
parentab2c602f3493d76e1ad6872cb578115b45b7c6fe (diff)
parentb69578e19c85e65dbfdf92908416182abf2bede7 (diff)
downloadzig-9cb2919d500520d280e09d0990809d538aa32b56.tar.gz
zig-9cb2919d500520d280e09d0990809d538aa32b56.zip
Merge pull request #15127 from der-teufel-programming/autodoc_newbuiltins
autodoc: Add new builtins to Autodoc
Diffstat (limited to 'src')
-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;