mirror of
https://codeberg.org/ziglang/zig.git
synced 2025-12-06 13:54:21 +00:00
Merge pull request #15127 from der-teufel-programming/autodoc_newbuiltins
autodoc: Add new builtins to Autodoc
This commit is contained in:
commit
9cb2919d50
2 changed files with 33 additions and 1 deletions
|
|
@ -1267,6 +1267,18 @@ const NAV_MODES = {
|
||||||
payloadHtml += "frameSize";
|
payloadHtml += "frameSize";
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case "work_item_id": {
|
||||||
|
payloadHtml += "workItemId";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "work_group_size": {
|
||||||
|
payloadHtml += "workGroupSize";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "work_group_id": {
|
||||||
|
payloadHtml += "workGroupId";
|
||||||
|
break;
|
||||||
|
}
|
||||||
case "ptr_to_int": {
|
case "ptr_to_int": {
|
||||||
payloadHtml += "ptrToInt";
|
payloadHtml += "ptrToInt";
|
||||||
break;
|
break;
|
||||||
|
|
|
||||||
|
|
@ -2984,13 +2984,33 @@ fn walkInstruction(
|
||||||
const param_index = self.exprs.items.len;
|
const param_index = self.exprs.items.len;
|
||||||
try self.exprs.append(self.arena, param.expr);
|
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{
|
return DocData.WalkResult{
|
||||||
.typeRef = param.typeRef orelse .{ .type = @enumToInt(Ref.type_type) },
|
.typeRef = param.typeRef orelse .{ .type = @enumToInt(Ref.type_type) },
|
||||||
.expr = .{ .builtinIndex = bin_index },
|
.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 => {
|
.cmpxchg => {
|
||||||
const extra = file.zir.extraData(Zir.Inst.Cmpxchg, extended.operand).data;
|
const extra = file.zir.extraData(Zir.Inst.Cmpxchg, extended.operand).data;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue