参加するには¶
LLVMはあらゆる種類の貢献を歓迎します。始めるには、以下のトピックをご覧ください。
- LLVMへの貢献
LLVMに貢献する方法の概要。
- LLVM開発者ポリシー
LLVMプロジェクトの開発者とその貢献に対するポリシー。
- LLVMコードレビューポリシーと実践
LLVMプロジェクトのコードレビュープロセス。
- LLVMコミュニティサポートポリシー
コアコンポーネントと非コアコンポーネントに対するLLVMサポートポリシー。
- Sphinxクイックスタートテンプレート
新しいSphinxドキュメントを作成するためのテンプレートとチュートリアル。ソース形式で読むことを想定しています。
- LLVMバグレポートの提出方法
LLVMシステムで発生したバグに関する情報を適切に提出するための手順。
- LLVMバグライフサイクル
バグの報告、トリアージ、クローズの方法について説明します。
- 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マスターに新しいビルダーを追加するための手順。
- 現在のリリースのリリースノート
新機能、既知のバグ、その他の制限事項について説明します。
フォーラムとメーリングリスト¶
これらのドキュメントに必要な情報が見つからない場合は、Discourseフォーラムを参照してください。LLVMプロジェクトへのすべてのコミットのコミットメーリングリストもあります。LLVMコミュニティ行動規範は、これらすべてのフォーラムとメーリングリストに適用されます。
- LLVM Discourse
LLVMと関連するサブプロジェクトに関するすべてのフォーラム。LLVM内のさまざまな分野のカテゴリとサブカテゴリがあります。タグを表示したり、特定のトピックを検索したりすることもできます。
- コミットアーカイブ (llvm-commits)
このリストには、LLVM開発者がリポジトリにコード変更をコミットしたときに作成されるすべてのコミットメッセージが含まれています。また、パッチレビューのフォーラムとしても機能します(つまり、ここにパッチを送信します)。LLVM開発の最先端を把握したい人に役立ちます。このリストは非常に量が多いです。
- バグとパッチのアーカイブ (llvm-bugs)
このリストは、バグが開かれたり閉じられたりするたびにメールで送信されます。LLVM-devリストよりも量が多いです。
- LLVMのお知らせ
リリース、開発者会議、ブログ投稿など、プロジェクト全体のお知らせが必要な場合は、LLVM Discourseのお知らせカテゴリをご覧ください。
オンライン同期¶
特定のトピックに関する定期的な電話会議が多数開催されています。トピックの範囲は時間の経過とともに変化することが予想されます。執筆時点では、以下の同期が編成されています。LLVMコミュニティ行動規範は、すべてのオンライン同期に適用されます。
新しい同期を編成する場合は、以下の表に情報を追加してください。また、カレンダーイベントを作成し、calendar@llvm.org をイベントに招待して、LLVMコミュニティカレンダーに表示されるようにしてください。LLVMコミュニティカレンダーの招待状に記載する内容に関するガイダンスを参照して、カレンダーの招待状に追加する内容についてガイダンスをご覧ください。
トピック |
頻度 |
カレンダーリンク |
議事録/ドキュメントリンク |
---|---|---|---|
ループ最適化ワーキンググループ |
毎月第一水曜日 |
||
RISC-V |
2週間ごとに木曜日 |
||
MLガイドコンパイラ最適化 |
毎月 |
||
毎月、第3火曜日 |
|||
毎週水曜日 |
|||
flang |
複数の会議シリーズ、ここに記載 |
||
OpenMP |
複数の会議シリーズ、ここに記載 |
||
LLVMエイリアス解析 |
4週間ごとに火曜日 |
||
LLVMポインタ認証 |
毎月月曜日 |
||
LLVM組み込みツールチェーン |
4週間ごとに木曜日 |
||
Clang C/C++言語ワーキンググループ |
月の第1、第3水曜日 |
||
LLVM SPIR-Vバックエンドワーキンググループ |
毎週月曜日 |
||
SYCLアップストリームワーキンググループ |
2週間ごとに月曜日 |
||
浮動小数点ワーキンググループ |
毎月第3水曜日 |
||
ベクトル化改善ワーキンググループ |
毎月第3木曜日 |
過去のオンライン同期¶
一部のオンライン同期は廃止されました。議事録を追跡し、将来的に誰かが復活させたい場合に備えて、ここでそれらを指し示し続けます。
トピック |
頻度 |
カレンダーリンク |
議事録/ドキュメントリンク |
---|---|---|---|
スケーラブルベクトルとArm SVE |
毎月、第3火曜日 |
||
LLVMのMemorySSA |
8週間ごとに月曜日 |
||
GlobalISel |
毎月第2火曜日 |
||
ベクトル述語 |
2週間ごとに火曜日、午後3時(UTC) |
||
MLIR設計会議 |
毎週木曜日 |
オフィスアワー¶
経験豊富なLLVMコントリビューターの多くは、ガイダンスを求めている人に、定期的にチャットで対応しています。誰がいつ、どの媒体を通じて、どのような専門分野で対応可能か、リストをご覧ください。遠慮なく参加してください!
オフィスアワーはLLVMコミュニティカレンダーにも掲載されています。もちろん、人々は時々休みを取るので、電話をかけても誰もいない場合は、たまたまその日は休みかもしれません。
LLVMコミュニティ行動規範は、すべてのオフィスアワーに適用されます。
名前 |
対象トピック |
いつ? |
どこで? |
言語 |
---|---|---|---|---|
Kristof Beyls |
LLVMへの貢献方法、ミートアップの開催、講演の提出、その他のLLVM関連の一般的なトピックに関する一般的な質問。Arm/AArch64コード生成。LLVMセキュリティグループ。LLVMオフィスアワー。 |
毎月第2、第4水曜日の午前9時30分(CET)、30分間。ics |
英語、フラマン語、オランダ語 |
|
Alina Sbirlea |
LLVMへの貢献方法に関する一般的な質問。コンパイラにおける女性。MemorySSA、BatchAA、様々なループパス、新しいパス マネージャー。 |
英語、ルーマニア語 |
||
Aaron Ballman (he/him) |
Clangの内部構造; フロントエンド属性; clang-tidy; clang-query; AST マッチャー |
英語、ノルウェー語(流暢ではありません) |
||
Johannes Doerfert (he/him) |
OpenMP、LLVM-IR、手続き間最適化、Attributor、ワークショップ、研究など |
毎週水曜日午前9時30分(太平洋時間)、1時間。ics |
英語、ドイツ語 |
|
Tobias Grosser |
LLVM/MLIR、Polly、ループ最適化、FPL、LLVMの研究、コンピュータサイエンスの博士号、サマーオブコードへの貢献に関する一般的な質問。 |
毎月、最終月曜日、午後6時(ロンドン時間)(通常は午前9時(太平洋時間))、30分間。 |
英語、ドイツ語、スペイン語、フランス語 |
|
Anastasia Stulova |
C/C++言語拡張と方言、OpenCL、GPU、SPIR-V、貢献方法、コンパイラにおける女性のためのClang内部構造。 |
毎月、第1火曜日、午後5時(英国夏時間 - ロンドン時間)(春期の2週間を除く午前9時(太平洋時間))、30分間。 |
英語、ロシア語、ドイツ語(流暢ではありません) |
|
Alexey Bader |
SYCLコンパイラ、オフロードツール、OpenCLとSPIR-V、貢献方法。 |
毎月、第2月曜日、午前9時30分(太平洋時間)、30分間。 |
英語、ロシア語 |
|
Maksim Panchenko |
BOLTの内部構造、IR、新しいパス、提案など |
毎月、第2水曜日、午前11時(太平洋時間)、30分間。 |
英語、ロシア語 |
|
Quentin Colombet (he/him) |
LLVM/MLIR; コード生成 (命令選択 (GlobalISel/SDISel)、マシンIR、レジスタ割り当てなど); 最適化; MCA |
英語、フランス語 |
||
Phoebe Wang (she/her) |
X86バックエンド、X86に関する一般的な質問、コンパイラにおける女性。 |
毎月、第3水曜日、午前8時30分(北京時間)、30分間。 |
英語、中国語 |
|
Amara Emerson |
GlobalISelに関する質問。 |
毎月、第4水曜日、午前9時30分(太平洋時間)、30分間。 |
英語 |
|
Maksim Levental and Jeremy Kun |
MLIR初心者と一般的な議論 (ライブストリーミング) |
2週間ごと、水曜日、午後2時(米国太平洋時間)、90分間。 |
ライブストリームチャットまたは Google meet |
英語 |
Renato Golin |
一般的なLLVM、MLIRとLinalg、分散コンピューティング、研究、ソーシャル。 |
毎月第1火曜日、午前11時(英国時間)、60分間。 |
英語、ポルトガル語 |
|
持ち回りホスト |
入門、初心者向けの質問、新しいコントリビューター。 |
毎週火曜日、午後2時(東部時間)(午前11時(太平洋時間))、30分間。 |
英語 |
オフィスアワーホストのためのガイダンス¶
オフィスアワーホストに興味がある場合は、上記のリストに情報追加してください。カレンダーイベントを作成し、calendar@llvm.org をイベントに招待して、LLVMコミュニティカレンダーに表示されるようにしてください。LLVMコミュニティカレンダーの招待状に記載する内容に関するガイダンスを参照して、カレンダーの招待状に追加する内容に関するガイダンスをご覧ください。
オフィスアワーセッションを開始するときは、「 *こんにちは、これから30分間チャットできます。* ビデオチャットのURLはこちらです。*ビデオチャットまたはここで会話することを楽しみにしています。* 」のようなメッセージを、既に参加しているLLVMチャットチャンネルに入力することを検討してください。これらには以下が含まれます。
- これを行うことで、以下のような効果が期待できます。
初めて電話をかけることへの潜在的な不安を克服する
電話をかける前に、まずテキストチャットでメッセージを交換したいと考えている人
より広いコミュニティに、オフィスアワーが存在することを思い出させる
オフィスアワーのホスティングを中止する場合は、上記のリストからエントリを削除してください。
IRC¶
LLVMプロジェクト(Clangなどのサブプロジェクトを含む)のユーザーと開発者は、irc.oftc.net の #llvm にいます。このチャンネルは積極的にモデレートされています。
#llvm-build チャンネルには、LLVM buildbot のステータス変更のためのボットがあります。ボットは、ビルドが成功から失敗に変わったときにビルドボットへのリンクと責任者リストを掲載し、ビルドが失敗から成功に戻ったときにもう一度(責任者リストなしで)メッセージを投稿します。ビルドステータスを積極的に監視するには適したチャンネルですが、自動メッセージが多いため、ノイズの多いチャンネルです。このチャンネルは積極的にモデレートされていません。
従来のIRCに加えて、Discord チャットサーバーも利用可能です。サインアップするには、この招待リンクを使用してください。
コミュニティ全体の提案¶
コミュニティの行動様式とワークフローの改善方法に関する大規模な変更の提案。
- 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 を招待してください。イベントはコミュニティカレンダーに表示されます。
カレンダーの招待状には、以下の情報を記載してください。
イベントの内容を説明する段落を1つ記述します。イベントの対象者や、どのようなトピックが議論されるかなどを含めます。
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.dokyumento.jp/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)