参加するには

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コミュニティカレンダーの招待状に記載する内容に関するガイダンスを参照して、カレンダーの招待状に追加する内容についてガイダンスをご覧ください。

表 120 LLVM 定期同期コール

トピック

頻度

カレンダーリンク

議事録/ドキュメントリンク

ループ最適化ワーキンググループ

毎月第一水曜日

ics

議事録/ドキュメント

RISC-V

2週間ごとに木曜日

ics gcal

議事録/ドキュメント

MLガイドコンパイラ最適化

毎月

議事録/ドキュメント

LLVMセキュリティグループ

毎月、第3火曜日

ics gcal

議事録/ドキュメント

CIRCT

毎週水曜日

議事録/ドキュメント

flang

複数の会議シリーズ、ここに記載

OpenMP

複数の会議シリーズ、ここに記載

LLVMエイリアス解析

4週間ごとに火曜日

ics

議事録/ドキュメント

LLVMポインタ認証

毎月月曜日

ics

議事録/ドキュメント

LLVM組み込みツールチェーン

4週間ごとに木曜日

ics gcal

議事録/ドキュメント

Clang C/C++言語ワーキンググループ

月の第1、第3水曜日

gcal

議事録/ドキュメント

LLVM SPIR-Vバックエンドワーキンググループ

毎週月曜日

会議の詳細/議題

SYCLアップストリームワーキンググループ

2週間ごとに月曜日

gcal

会議の詳細/議題

浮動小数点ワーキンググループ

毎月第3水曜日

ics gcal

会議の詳細/議題

ベクトル化改善ワーキンググループ

毎月第3木曜日

ics

会議の詳細/議題

過去のオンライン同期

一部のオンライン同期は廃止されました。議事録を追跡し、将来的に誰かが復活させたい場合に備えて、ここでそれらを指し示し続けます。

表 121 LLVM 廃止された同期コール

トピック

頻度

カレンダーリンク

議事録/ドキュメントリンク

スケーラブルベクトルとArm SVE

毎月、第3火曜日

ics gcal

議事録/ドキュメント

LLVMのMemorySSA

8週間ごとに月曜日

ics gcal

議事録/ドキュメント

GlobalISel

毎月第2火曜日

gcal

会議の詳細/議題

ベクトル述語

2週間ごとに火曜日、午後3時(UTC)

議事録/ドキュメント

MLIR設計会議

毎週木曜日

議事録/ドキュメント

オフィスアワー

経験豊富なLLVMコントリビューターの多くは、ガイダンスを求めている人に、定期的にチャットで対応しています。誰がいつ、どの媒体を通じて、どのような専門分野で対応可能か、リストをご覧ください。遠慮なく参加してください!

オフィスアワーはLLVMコミュニティカレンダーにも掲載されています。もちろん、人々は時々休みを取るので、電話をかけても誰もいない場合は、たまたまその日は休みかもしれません。

LLVMコミュニティ行動規範は、すべてのオフィスアワーに適用されます。

表 122 LLVMオフィスアワー

名前

対象トピック

いつ?

どこで?

言語

Kristof Beyls

LLVMへの貢献方法、ミートアップの開催、講演の提出、その他のLLVM関連の一般的なトピックに関する一般的な質問。Arm/AArch64コード生成。LLVMセキュリティグループ。LLVMオフィスアワー。

毎月第2、第4水曜日の午前9時30分(CET)、30分間。ics

Jitsi

英語、フラマン語、オランダ語

Alina Sbirlea

LLVMへの貢献方法に関する一般的な質問。コンパイラにおける女性。MemorySSA、BatchAA、様々なループパス、新しいパス マネージャー。

毎月、第2火曜日、午前10時(太平洋時間)/午後7時(中央ヨーロッパ時間)、30分間。ics gcal

GoogleMeet

英語、ルーマニア語

Aaron Ballman (he/him)

Clangの内部構造; フロントエンド属性; clang-tidy; clang-query; AST マッチャー

毎月、第2月曜日と第3金曜日、午前10時(東部時間)と午後2時(東部時間)、60分間。ics gcal

GoogleMeet

英語、ノルウェー語(流暢ではありません)

Johannes Doerfert (he/him)

OpenMP、LLVM-IR、手続き間最適化、Attributor、ワークショップ、研究など

毎週水曜日午前9時30分(太平洋時間)、1時間。ics

MS Teams

英語、ドイツ語

Tobias Grosser

LLVM/MLIR、Polly、ループ最適化、FPL、LLVMの研究、コンピュータサイエンスの博士号、サマーオブコードへの貢献に関する一般的な質問。

毎月、最終月曜日、午後6時(ロンドン時間)(通常は午前9時(太平洋時間))、30分間。

ビデオ通話

英語、ドイツ語、スペイン語、フランス語

Anastasia Stulova

C/C++言語拡張と方言、OpenCL、GPU、SPIR-V、貢献方法、コンパイラにおける女性のためのClang内部構造。

毎月、第1火曜日、午後5時(英国夏時間 - ロンドン時間)(春期の2週間を除く午前9時(太平洋時間))、30分間。

GoogleMeet

英語、ロシア語、ドイツ語(流暢ではありません)

Alexey Bader

SYCLコンパイラ、オフロードツール、OpenCLとSPIR-V、貢献方法。

毎月、第2月曜日、午前9時30分(太平洋時間)、30分間。

GoogleMeet

英語、ロシア語

Maksim Panchenko

BOLTの内部構造、IR、新しいパス、提案など

毎月、第2水曜日、午前11時(太平洋時間)、30分間。

Zoom

英語、ロシア語

Quentin Colombet (he/him)

LLVM/MLIR; コード生成 (命令選択 (GlobalISel/SDISel)、マシンIR、レジスタ割り当てなど); 最適化; MCA

毎月、第1水曜日、午前8時(太平洋時間)、30分間。ics gcal

Google meet

英語、フランス語

Phoebe Wang (she/her)

X86バックエンド、X86に関する一般的な質問、コンパイラにおける女性。

毎月、第3水曜日、午前8時30分(北京時間)、30分間。

MS Teams

英語、中国語

Amara Emerson

GlobalISelに関する質問。

毎月、第4水曜日、午前9時30分(太平洋時間)、30分間。

Google meet

英語

Maksim Levental and Jeremy Kun

MLIR初心者と一般的な議論 (ライブストリーミング)

2週間ごと、水曜日、午後2時(米国太平洋時間)、90分間。

ライブストリームチャットまたは Google meet

英語

Renato Golin

一般的なLLVM、MLIRとLinalg、分散コンピューティング、研究、ソーシャル。

毎月第1火曜日、午前11時(英国時間)、60分間。

Google meet

英語、ポルトガル語

持ち回りホスト

入門、初心者向けの質問、新しいコントリビューター。

毎週火曜日、午後2時(東部時間)(午前11時(太平洋時間))、30分間。

Google meet

英語

オフィスアワーホストのためのガイダンス

  • オフィスアワーホストに興味がある場合は、上記のリストに情報追加してください。カレンダーイベントを作成し、calendar@llvm.org をイベントに招待して、LLVMコミュニティカレンダーに表示されるようにしてください。LLVMコミュニティカレンダーの招待状に記載する内容に関するガイダンスを参照して、カレンダーの招待状に追加する内容に関するガイダンスをご覧ください。

  • オフィスアワーセッションを開始するときは、「 *こんにちは、これから30分間チャットできます。* ビデオチャットのURLはこちらです。*ビデオチャットまたはここで会話することを楽しみにしています。* 」のようなメッセージを、既に参加しているLLVMチャットチャンネルに入力することを検討してください。これらには以下が含まれます。

    これを行うことで、以下のような効果が期待できます。
    • 初めて電話をかけることへの潜在的な不安を克服する

    • 電話をかける前に、まずテキストチャットでメッセージを交換したいと考えている人

    • より広いコミュニティに、オフィスアワーが存在することを思い出させる

  • オフィスアワーのホスティングを中止する場合は、上記のリストからエントリを削除してください。

IRC

LLVMプロジェクト(Clangなどのサブプロジェクトを含む)のユーザーと開発者は、irc.oftc.net の #llvm にいます。このチャンネルは積極的にモデレートされています。

#llvm-build チャンネルには、LLVM buildbot のステータス変更のためのボットがあります。ボットは、ビルドが成功から失敗に変わったときにビルドボットへのリンクと責任者リストを掲載し、ビルドが失敗から成功に戻ったときにもう一度(責任者リストなしで)メッセージを投稿します。ビルドステータスを積極的に監視するには適したチャンネルですが、自動メッセージが多いため、ノイズの多いチャンネルです。このチャンネルは積極的にモデレートされていません。

従来のIRCに加えて、Discord チャットサーバーも利用可能です。サインアップするには、この招待リンクを使用してください。

ミートアップとソーシャルイベント

開発者会議やカンファレンスに加えて、LLVM Socialsと呼ばれるいくつかのユーザーグループがあります。お住まいの都市のグループに参加することを強くお勧めします。グループがない場合は、新しいグループを開始してください。

お住まいの町でLLVM Socialを開始する方法

コミュニティ全体の提案

コミュニティの行動様式とワークフローの改善方法に関する大規模な変更の提案。

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)