diff options
| author | Loris Cro <kappaloris@gmail.com> | 2023-03-31 17:30:09 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-03-31 17:30:09 +0200 |
| commit | 9cb2919d500520d280e09d0990809d538aa32b56 (patch) | |
| tree | e8a67b5f8325ebd6b0acf6f734daf9333455d281 /src | |
| parent | ab2c602f3493d76e1ad6872cb578115b45b7c6fe (diff) | |
| parent | b69578e19c85e65dbfdf92908416182abf2bede7 (diff) | |
| download | zig-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.zig | 22 |
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; |
