参与贡献¶
LLVM 欢迎各种形式的贡献。要开始参与,请查看以下主题
- 贡献代码到 LLVM
关于如何为 LLVM 做贡献的概述。
- LLVM 开发者政策
LLVM 项目对开发者及其贡献的政策。
- LLVM 代码审查政策和实践
LLVM 项目的代码审查流程。
- LLVM 社区支持政策
LLVM 对核心和非核心组件的支持政策。
- Sphinx 快速入门模板
编写新的 Sphinx 文档的模板和教程。建议以源代码形式阅读。
- 如何提交 LLVM Bug 报告
有关正确提交在 LLVM 系统中遇到的任何 Bug 信息的说明。
- LLVM Bug 生命周期
描述 Bug 如何被报告、分类和关闭。
- LLVM 编码规范
详细介绍了 LLVM 编码规范,并提供了有关编写高效 C++ 代码的有用信息。
- LLVM GitHub 用户指南
描述如何在 GitHub 上使用 llvm-project 仓库和代码审查。
- LLVM 代码二分查找
描述如何在 LLVM 的仓库上使用
git bisect
。- 关于 Git 仓库的政策
围绕 Git 仓库的政策集合。
开发流程¶
关于 LLVM 开发流程的信息。
- 创建 LLVM 项目
使用 LLVM 基础设施的新项目的指南和模板。这些模板(目录组织、Makefile 和测试树)允许项目代码位于
llvm/
树之外(或内部),同时使用 LLVM 头文件和库。- 如何向公众发布 LLVM
这是一份关于准备 LLVM 版本的指南。大多数开发人员可以忽略它。
- 如何验证新版本
这是一份关于在发布过程中验证新版本的指南。大多数开发人员可以忽略它。
- 如何将您的构建配置添加到 LLVM Buildbot 基础设施
将新构建器添加到 LLVM buildbot master 的说明。
- 当前版本的发布说明
这描述了新特性、已知 Bug 和其他限制。
论坛和邮件列表¶
如果您在这些文档中找不到所需内容,请尝试咨询 Discourse 论坛。所有提交到 LLVM 项目的提交都有相应的提交邮件列表。LLVM 社区行为准则适用于所有这些论坛和邮件列表。
- LLVM Discourse
所有关于 LLVM 及其相关子项目的论坛。LLVM 内部有各种各样的领域,并有相应的类别和子类别。您还可以查看标签或搜索特定主题。
- 提交归档 (llvm-commits)
此列表包含 LLVM 开发人员将代码更改提交到仓库时所做的所有提交消息。它还用作补丁审查的论坛(例如,将补丁发送到这里)。对于那些希望紧跟 LLVM 开发前沿的人来说,它很有用。此列表的邮件量非常大。
- Bug 和补丁归档 (llvm-bugs)
每次打开和关闭 Bug 时,都会向此列表发送电子邮件。它的邮件量比 LLVM-dev 列表更大。
- LLVM 公告
如果您只想了解项目范围内的公告,例如版本发布、开发者会议或博客文章,则应查看 LLVM Discourse 上的公告类别。
在线同步会议¶
针对特定主题组织了许多定期电话会议。预计主题范围会随着时间推移而变化。在撰写本文时,组织了以下同步会议。LLVM 社区行为准则适用于所有在线同步会议。
如果您想组织新的同步会议,请在下面的表格中添加信息。请同时为其创建日历事件,并邀请 calendar@llvm.org 参加该事件,以便它会显示在LLVM 社区日历上。有关在日历邀请中添加内容的更多指导,请参阅关于在 LLVM 社区日历邀请中添加内容的指南。
主题 |
频率 |
日历链接 |
会议记录/文档链接 |
---|---|---|---|
循环优化工作组 |
每月第一个星期三 |
||
RISC-V |
每两周星期四 |
||
机器学习引导的编译器优化 |
每月 |
||
每月,每个月的第三个星期二 |
|||
每周,星期三 |
|||
flang |
多个会议系列,此处有说明 |
||
OpenMP |
多个会议系列,此处有说明 |
||
LLVM 别名分析 |
每 4 周星期二 |
||
LLVM 指针认证 |
每月星期一 |
||
LLVM 嵌入式工具链 |
每 4 周星期四 |
||
Clang C 和 C++ 语言工作组 |
每月第一个和第三个星期三 |
||
LLVM SPIR-V 后端工作组 |
每周星期一 |
||
SYCL 上游工作组 |
每两周星期一 |
||
浮点工作组 |
每月第三个星期三 |
||
向量化器改进工作组 |
每月第三个星期四 |
过去的在线同步会议¶
一些在线同步会议不再举行。我们在这里继续指向它们是为了跟踪会议记录,并以防将来有人希望恢复它们。
主题 |
频率 |
日历链接 |
会议记录/文档链接 |
---|---|---|---|
可扩展向量和 Arm SVE |
每月,每个月的第三个星期二 |
||
LLVM 中的 MemorySSA |
每 8 周星期一 |
||
GlobalISel |
每月第二个星期二 |
||
向量谓词 |
每两周星期二,格林威治标准时间下午 3 点 |
||
MLIR 设计会议 |
每周,星期四 |
办公时间¶
许多经验丰富的 LLVM 贡献者会定期提供聊天服务,任何寻求指导的人都可以与他们交流。请找到有关谁在什么时候可用、通过什么媒介以及他们的专业领域的信息。不要害羞,随时拨打进来!
办公时间也会在LLVM 社区日历上列出。当然,人们会不时休假,因此如果您拨打进来,但没有发现任何人,很可能是他们那天恰好休假了。
LLVM 社区行为准则适用于所有办公时间。
姓名 |
适用主题 |
何时? |
在哪里? |
语言 |
---|---|---|---|---|
Kristof Beyls |
有关如何为 LLVM 做贡献的一般问题;组织聚会;提交演讲;以及其他一般 LLVM 相关主题。Arm/AArch64 代码生成。LLVM 安全小组。LLVM 办公时间。 |
每月第二个和第四个星期三,上午 9:30 CET,持续 30 分钟。ics |
英语、弗拉芒语、荷兰语 |
|
Alina Sbirlea |
有关如何为 LLVM 做贡献的一般问题;女性编译器开发者;MemorySSA、BatchAA、各种循环遍历、新的遍历管理器。 |
英语、罗马尼亚语 |
||
Aaron Ballman (he/him) |
Clang 内部机制;前端属性;clang-tidy;clang-query;AST 匹配器 |
每月,每月第二个星期一和第三个星期五,上午 10:00 东部时间,以及下午 2:00 东部时间,持续 60 分钟。ics gcal |
英语、挪威语(不流利) |
|
Johannes Doerfert (he/him) |
OpenMP、LLVM-IR、过程间优化、Attributor、研讨会、研究等。 |
每周,星期三上午 9:30(太平洋时间),持续 1 小时。ics |
英语、德语 |
|
Tobias Grosser |
有关如何为 LLVM/MLIR 做贡献的一般问题,Polly、循环优化、FPL、LLVM 方面的研究、计算机科学博士、暑期代码项目。 |
每月,最后一个星期一,伦敦时间晚上 6:00(通常是太平洋时间上午 9:00),持续 30 分钟。 |
英语、德语、西班牙语、法语 |
|
Anastasia Stulova |
Clang 内部针对 C/C++ 语言扩展和方言、OpenCL、GPU、SPIR-V 的内容,以及如何贡献代码、编译器领域的女性等话题。 |
每月,每月第一个星期二英国夏令时 17:00(伦敦时间)(太平洋时间上午 9:00,除了春季的两个星期),时长 30 分钟。 |
英语、俄语、德语(不流利) |
|
Alexey Bader |
SYCL 编译器、卸载工具、OpenCL 和 SPIR-V,以及如何贡献代码。 |
每月,每月第二个星期一太平洋时间上午 9:30,时长 30 分钟。 |
英语、俄语 |
|
Maksim Panchenko |
BOLT 内部机制、IR、新的 Pass、提案等。 |
每月,每月第二个星期三太平洋时间上午 11:00,时长 30 分钟。 |
英语、俄语 |
|
Quentin Colombet (he/him) |
LLVM/MLIR;代码生成(指令选择(GlobalISel/SDISel)、机器 IR、寄存器分配等);优化;MCA |
英语、法语 |
||
Phoebe Wang (she/her) |
X86 后端、X86 相关的一般问题、编译器领域的女性。 |
每月,每月第三个星期三北京时间上午 8:30,时长 30 分钟。 |
英语、中文 |
|
Amara Emerson |
GlobalISel 相关问题。 |
每月,每月第四个星期三太平洋时间上午 9:30,时长 30 分钟。 |
英语 |
|
Maksim Levental 和 Jeremy Kun |
MLIR 新手和一般讨论 (直播) |
每两周,星期三美国太平洋时间下午 2:00,时长 90 分钟。 |
直播聊天或 Google meet |
英语 |
Renato Golin |
LLVM、MLIR 和 Linalg 一般问题、分布式计算、研究、社交。 |
每月第一个星期二,英国时间上午 11:00,时长 60 分钟。 |
英语、葡萄牙语 |
|
轮换主持人 |
入门、初学者问题、新贡献者。 |
每周二美国东部时间下午 2 点(太平洋时间上午 11 点),时长 30 分钟。 |
英语 |
办公时间主持人指南¶
如果您有兴趣成为办公时间主持人,请将您的信息添加到上面的列表中。请为此创建一个日历事件并邀请 calendar@llvm.org 参加该事件,以便它会显示在 LLVM 社区日历 上。请参阅 关于在 LLVM 社区日历邀请中添加哪些内容的指南,以获取有关在日历邀请中添加哪些内容的更多指南。
开始办公时间会话时,请考虑在您已加入的 LLVM 聊天频道中键入类似“您好,我将在接下来的半小时内在 视频聊天 URL 进行聊天。我期待在视频聊天或这里进行对话。”的内容。这些可能包括
- 这样做可以帮助
克服首次打电话参与的潜在焦虑,
更偏向于在拨打之前先通过文本聊天交换一些信息的人,以及
提醒更广泛的社区办公时间的存在。
如果您决定不再主持办公时间,请从上面的列表中删除您的条目。
IRC¶
LLVM 项目(包括 Clang 等子项目)的用户和开发者可以在 irc.oftc.net 上的 #llvm 频道中找到。该频道由管理员积极管理。
#llvm-build 频道有一个用于 LLVM 构建机器人 状态更改的机器人。当构建从通过变为失败时,机器人会发布一条消息,其中包含构建机器人的链接和责任列表,并在构建从失败变回通过时再次发布(不带责任列表)。这是一个积极监控构建状态的良好渠道,但由于自动消息,它是一个嘈杂的渠道。该频道没有由管理员积极管理。
社区范围的提案¶
关于社区行为方式以及如何改进工作流程的大规模变更的提案。
- 将 LLVM 项目迁移到 GitHub
从 SVN/Git 迁移到 GitHub 的提案。
- Bugpoint 重构
Bugpoint 工具重构的设计文档。
- 测试套件扩展
关于 LLVM 测试套件的其他基准/程序的提案。
- 变量命名计划
更改变量命名编码标准的提案。
- 向量谓词路线图
关于 LLVM 中谓词向量指令的提案。
LLVM 社区日历¶
我们的目标是维护 LLVM 社区中所有事件(例如 在线同步会议 和 办公时间)的公共日历视图。日历可以在 https://calendar.google.com/calendar/u/0/[email protected] 中找到,也可以在下面内联查看
请注意,LLVM 社区日历的网页视图以协调世界时 (UTC) 显示事件。如果您使用 Google 日历,请考虑使用右下角的“+”按钮订阅它,以便在您的其他日历旁边以您的本地时区查看所有事件。
关于在 LLVM 社区日历邀请中添加哪些内容的指南¶
要添加您的事件,请为此创建一个日历事件并邀请 calendar@llvm.org 参加。您的事件随后将显示在社区日历上。
请在您的日历邀请中添加以下信息
写一段描述该事件内容的文字。包括该事件面向谁以及讨论哪些主题等信息。
明确说明 LLVM 社区行为准则 适用于此事件。
明确说明谁是
组织者。
如果出现任何行为准则问题,需要联系的人。通常,这将是组织者。
如果您有事件的会议记录,请添加指向其所在位置的指针。会议记录的理想位置可能是 LLVM Discourse 上的帖子。
示例邀请如下所示
This event is a meetup for all developers of LLDB. Meeting agendas are posted
on discourse before the event.
Attendees are required to adhere to the LLVM Code of Conduct
(https://llvm.net.cn/docs/CodeOfConduct.html). For any Code of Conduct reports,
please contact the organizers, and also email [email protected].
Agenda/Meeting Minutes: Link to minutes
Organizer(s): First Surname ([email protected])