參與 LLVM¶
LLVM 歡迎各種形式的貢獻。開始之前,請先查看以下主題
- 貢獻 LLVM
如何貢獻 LLVM 的概述。
- LLVM 開發者政策
LLVM 專案針對開發者及其貢獻的政策。
- LLVM 程式碼審查政策與實務
LLVM 專案的程式碼審查流程。
- LLVM 社群支援政策
LLVM 核心和非核心元件的支援政策。
- Sphinx 快速入門範本
用於撰寫新 Sphinx 文件的範本和教學。建議以原始碼形式閱讀。
- 如何提交 LLVM 錯誤報告
有關正確提交在 LLVM 系統中遇到的任何錯誤的說明。
- LLVM 錯誤生命週期
描述如何報告、分類和關閉錯誤。
- LLVM 編碼標準
詳細說明 LLVM 編碼標準,並提供有關撰寫有效率 C++ 程式碼的實用資訊。
- LLVM GitHub 使用者指南
描述如何使用 llvm-project 儲存庫和 GitHub 上的程式碼審查。
- 二分搜尋 LLVM 程式碼
描述如何在 LLVM 的儲存庫上使用
git bisect
。- git 儲存庫的政策
有關 git 儲存庫的政策集合。
開發流程¶
有關 LLVM 開發流程的資訊。
- 建立 LLVM 專案
針對*使用* LLVM 基礎架構的新專案的指南和範本。範本(目錄組織、Makefile 和測試樹)允許專案程式碼位於
llvm/
樹狀目錄之外(或之內),同時使用 LLVM 標頭檔和程式庫。- 如何將 LLVM 發布給大眾
這是準備 LLVM 發布版本的指南。大多數開發者可以忽略它。
- 如何驗證新版本
這是用於在發布過程中驗證新版本的指南。大多數開發者可以忽略它。
- 如何將您的建置組態新增至 LLVM Buildbot 基礎架構
將新的建置器新增至 LLVM buildbot 主機的說明。
- 目前版本的發行說明
這描述了新功能、已知錯誤和其他限制。
論壇與郵件清單¶
如果在這些文件中找不到您需要的資訊,請嘗試諮詢 Discourse 論壇。所有提交至 LLVM 專案的提交都有提交郵件清單。LLVM 社群行為準則 適用於所有這些論壇和郵件清單。
- LLVM Discourse
LLVM 及其相關子專案的論壇。其中包含 LLVM 內部各種領域的類別和子類別。您也可以查看標籤或搜尋特定主題。
- 提交存檔 (llvm-commits)
此清單包含 LLVM 開發人員在將程式碼變更提交到儲存庫時所做的所有提交訊息。它也作為審查修補程式的論壇(即在此發送修補程式)。對於那些想要保持在 LLVM 開發最前線的人來說,這非常有用。此清單的數量非常龐大。
- 錯誤與修補程式存檔 (llvm-bugs)
每次開啟和關閉錯誤時,都會透過電子郵件發送此清單。它的數量比 LLVM-dev 清單還要多。
- LLVM 公告
如果您只想查看專案範圍內的公告,例如發佈、開發人員會議或部落格文章,則應查看 LLVM 論壇上的公告類別。
線上同步會議¶
針對特定主題會定期舉行電話會議。預計主題範圍會隨著時間而改變。在撰寫本文時,已安排了以下同步會議。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,持續 30 分鐘。 ics |
英語、佛萊明語、荷蘭語 |
|
Alina Sbirlea |
有關如何貢獻 LLVM 的一般性問題;女性在編譯器領域的發展;MemorySSA、BatchAA、各種迴圈優化、新的 Pass 管理器。 |
英語、羅馬尼亞語 |
||
Aaron Ballman (他) |
Clang 內部結構;前端屬性;clang-tidy;clang-query;AST 比對器 |
英語、挪威語(不流利) |
||
Johannes Doerfert (他) |
OpenMP、LLVM-IR、程序間優化、Attributor、研討會、研究… |
每週三,太平洋時間上午 9:30,持續 1 小時。 ics |
英語、德語 |
|
Tobias Grosser |
關於如何貢獻 LLVM/MLIR、Polly、迴圈最佳化、FPL、LLVM 研究、CS 博士學位、程式碼之夏等一般性問題。 |
每月,在倫敦時間每月最後一個星期一的 18:00(通常是太平洋時間上午 9 點),進行 30 分鐘。 |
英語、德語、西班牙語、法語 |
|
Anastasia Stulova |
Clang 內部結構,適用於 C/C++ 語言擴展和方言、OpenCL、GPU、SPIR-V、如何貢獻、編譯器領域的女性。 |
每月,在英國夏令時間每月第一個星期二的 17:00(倫敦時間)(太平洋時間上午 9:00,春季有 2 週除外),進行 30 分鐘。 |
英語、俄語、德語(不流利) |
|
Alexey Bader |
SYCL 編譯器、卸載工具、OpenCL 和 SPIR-V、如何貢獻。 |
每月,在太平洋時間每月第二個星期一的上午 9:30,進行 30 分鐘。 |
英語、俄語 |
|
Maksim Panchenko |
BOLT 內部結構、IR、新的遍歷、提案等。 |
每月,在太平洋時間每月第二個星期三的上午 11:00,進行 30 分鐘。 |
英語、俄語 |
|
Quentin Colombet(他) |
LLVM/MLIR;代碼生成(指令選擇(GlobalISel/SDISel)、機器 IR、寄存器分配等);最佳化;MCA |
英語、法語 |
||
Phoebe Wang(她) |
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 聊天頻道上輸入類似「*嗨,我在接下來的半小時內有空在* 視訊聊天網址 *進行聊天。我期待在視訊聊天或這裡與您交談。*」的內容。這些頻道可能包括
- 這樣做可以幫助
克服第一次撥入電話時的潛在焦慮,
那些喜歡在撥入電話之前先通過文字聊天交換幾條訊息的人,以及
提醒更廣泛的社群辦公時間確實存在。
如果您決定不再主持辦公時間,請從上面的清單中刪除您的條目。
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/embed?src=calendar@llvm.org 找到該行事曆,也可以在下方內嵌查看。
請注意,LLVM 社群行事曆的網頁版顯示的活動時間為協調世界時 (UTC)。如果您使用 Google 日曆,請考慮使用右下角的 + 按鈕訂閱該行事曆,以便在您的其他日曆旁邊以您的當地時區查看所有活動。
關於 LLVM 社群行事曆邀請函內容的指南¶
如需新增您的活動,請為該活動創建行事曆活動,並邀請 calendar@llvm.org。您的活動應該會顯示在社群行事曆上。
請在您的行事曆邀請函中包含以下資訊:
撰寫一段文字描述活動內容。包含活動對象和討論主題等資訊。
明確說明 LLVM 社群行為準則 適用於此活動。
清楚說明
主辦單位是誰。
如有任何違反行為準則的情況,應聯繫誰。通常是主辦單位。
如果您有活動的會議記錄,請新增指向其存放位置的連結。LLVM 論壇上的文章可以作為會議記錄的存放位置。
範例邀請函如下所示
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.dev.org.tw/docs/CodeOfConduct.html). For any Code of Conduct reports,
please contact the organizers, and also email conduct@llvm.org.
Agenda/Meeting Minutes: Link to minutes
Organizer(s): First Surname (name@email.com)