Merge pull request #15127 from der-teufel-programming/autodoc_newbuiltins

autodoc: Add new builtins to Autodoc
This commit is contained in:
Loris Cro 2023-03-31 17:30:09 +02:00 committed by GitHub
commit 9cb2919d50
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 33 additions and 1 deletions

View file

@ -1267,6 +1267,18 @@ const NAV_MODES = {
payloadHtml += "frameSize";
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": {
payloadHtml += "ptrToInt";
break;

View file

@ -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;