forked from OSchip/llvm-project
306 lines
11 KiB
ReStructuredText
306 lines
11 KiB
ReStructuredText
Getting Involved
|
|
================
|
|
|
|
LLVM welcomes contributions of all kinds. To get started, please review the following topics:
|
|
|
|
.. contents::
|
|
:local:
|
|
|
|
.. toctree::
|
|
:hidden:
|
|
|
|
Contributing
|
|
DeveloperPolicy
|
|
CodeReview
|
|
SupportPolicy
|
|
SphinxQuickstartTemplate
|
|
Phabricator
|
|
HowToSubmitABug
|
|
BugLifeCycle
|
|
CodingStandards
|
|
GitBisecting
|
|
GitRepositoryPolicy
|
|
|
|
:doc:`Contributing`
|
|
An overview on how to contribute to LLVM.
|
|
|
|
:doc:`DeveloperPolicy`
|
|
The LLVM project's policy towards developers and their contributions.
|
|
|
|
:doc:`CodeReview`
|
|
The LLVM project's code-review process.
|
|
|
|
:doc:`SupportPolicy`
|
|
The LLVM support policy for core and non-core components.
|
|
|
|
:doc:`SphinxQuickstartTemplate`
|
|
A template + tutorial for writing new Sphinx documentation. It is meant
|
|
to be read in source form.
|
|
|
|
:doc:`Phabricator`
|
|
Describes how to use the Phabricator code review tool hosted on
|
|
http://reviews.llvm.org/ and its command line interface, Arcanist.
|
|
|
|
:doc:`HowToSubmitABug`
|
|
Instructions for properly submitting information about any bugs you run into
|
|
in the LLVM system.
|
|
|
|
:doc:`BugLifeCycle`
|
|
Describes how bugs are reported, triaged and closed.
|
|
|
|
:doc:`CodingStandards`
|
|
Details the LLVM coding standards and provides useful information on writing
|
|
efficient C++ code.
|
|
|
|
:doc:`GitBisecting`
|
|
Describes how to use ``git bisect`` on LLVM's repository.
|
|
|
|
:doc:`GitRepositoryPolicy`
|
|
Collection of policies around the git repositories.
|
|
|
|
.. _development-process:
|
|
|
|
Development Process
|
|
-------------------
|
|
|
|
Information about LLVM's development process.
|
|
|
|
.. toctree::
|
|
:hidden:
|
|
|
|
Projects
|
|
HowToReleaseLLVM
|
|
Packaging
|
|
ReleaseProcess
|
|
HowToAddABuilder
|
|
ReleaseNotes
|
|
|
|
:doc:`Projects`
|
|
How-to guide and templates for new projects that *use* the LLVM
|
|
infrastructure. The templates (directory organization, Makefiles, and test
|
|
tree) allow the project code to be located outside (or inside) the ``llvm/``
|
|
tree, while using LLVM header files and libraries.
|
|
|
|
:doc:`HowToReleaseLLVM`
|
|
This is a guide to preparing LLVM releases. Most developers can ignore it.
|
|
|
|
:doc:`ReleaseProcess`
|
|
This is a guide to validate a new release, during the release process. Most developers can ignore it.
|
|
|
|
:doc:`HowToAddABuilder`
|
|
Instructions for adding new builder to LLVM buildbot master.
|
|
|
|
:doc:`Packaging`
|
|
Advice on packaging LLVM into a distribution.
|
|
|
|
:doc:`Release notes for the current release <ReleaseNotes>`
|
|
This describes new features, known bugs, and other limitations.
|
|
|
|
.. _mailing-lists:
|
|
|
|
Mailing Lists
|
|
-------------
|
|
|
|
If you can't find what you need in these docs, try consulting the mailing
|
|
lists. In addition to the traditional mailing lists there is also a
|
|
`Discourse server <https://llvm.discourse.group>`_ available.
|
|
|
|
`Developer's List (llvm-dev)`__
|
|
This list is for people who want to be included in technical discussions of
|
|
LLVM. People post to this list when they have questions about writing code
|
|
for or using the LLVM tools. It is relatively low volume.
|
|
|
|
.. __: http://lists.llvm.org/mailman/listinfo/llvm-dev
|
|
|
|
`Commits Archive (llvm-commits)`__
|
|
This list contains all commit messages that are made when LLVM developers
|
|
commit code changes to the repository. It also serves as a forum for
|
|
patch review (i.e. send patches here). It is useful for those who want to
|
|
stay on the bleeding edge of LLVM development. This list is very high
|
|
volume.
|
|
|
|
.. __: http://lists.llvm.org/pipermail/llvm-commits/
|
|
|
|
`Bugs & Patches Archive (llvm-bugs)`__
|
|
This list gets emailed every time a bug is opened and closed. It is
|
|
higher volume than the LLVM-dev list.
|
|
|
|
.. __: http://lists.llvm.org/pipermail/llvm-bugs/
|
|
|
|
`Test Results Archive (llvm-testresults)`__
|
|
A message is automatically sent to this list by every active nightly tester
|
|
when it completes. As such, this list gets email several times each day,
|
|
making it a high volume list.
|
|
|
|
.. __: http://lists.llvm.org/pipermail/llvm-testresults/
|
|
|
|
`LLVM Announcements List (llvm-announce)`__
|
|
This is a low volume list that provides important announcements regarding
|
|
LLVM. It gets email about once a month.
|
|
|
|
.. __: http://lists.llvm.org/mailman/listinfo/llvm-announce
|
|
|
|
.. _online-sync-ups:
|
|
|
|
Online Sync-Ups
|
|
---------------
|
|
|
|
A number of regular calls are organized on specific topics. It should be
|
|
expected that the range of topics will change over time. At the time of
|
|
writing, the following sync-ups are organized:
|
|
|
|
.. list-table:: LLVM regular sync-up calls
|
|
:widths: 25 25 25 25
|
|
:header-rows: 1
|
|
|
|
* - Topic
|
|
- Frequency
|
|
- Calendar link
|
|
- Minutes/docs link
|
|
* - Loop Optimization Working Group
|
|
- Every 2 weeks on Wednesday
|
|
-
|
|
- `Minutes/docs <https://docs.google.com/document/d/1sdzoyB11s0ccTZ3fobqctDpgJmRoFcz0sviKxqczs4g/edit>`__
|
|
* - RISC-V
|
|
- Every 2 weeks on Thursday
|
|
- `ics <https://calendar.google.com/calendar/ical/lowrisc.org_0n5pkesfjcnp0bh5hps1p0bd80%40group.calendar.google.com/public/basic.ics>`__
|
|
`gcal <https://calendar.google.com/calendar/b/1?cid=bG93cmlzYy5vcmdfMG41cGtlc2ZqY25wMGJoNWhwczFwMGJkODBAZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ>`__
|
|
-
|
|
* - Scalable Vectors and Arm SVE
|
|
- Monthly, every 3rd Tuesday
|
|
- `ics <https://calendar.google.com/calendar/ical/bjms39pe6k6bo5egtsp7don414%40group.calendar.google.com/public/basic.ics>`__
|
|
`gcal <https://calendar.google.com/calendar/u/0/embed?src=bjms39pe6k6bo5egtsp7don414@group.calendar.google.com>`__
|
|
- `Minutes/docs <https://docs.google.com/document/d/1UPH2Hzou5RgGT8XfO39OmVXKEibWPfdYLELSaHr3xzo/edit>`__
|
|
* - ML Guided Compiler Optimizations
|
|
- Monthly
|
|
-
|
|
- `Minutes/docs <https://docs.google.com/document/d/1JecbplF09l3swTjze-UVeLh4L48svJxGVy4mz_e9Rhs/edit?usp=gmail#heading=h.ts9cmcjbir1j>`__
|
|
* - `LLVM security group <https://llvm.org/docs/Security.html>`__
|
|
- Monthly, every 3rd Tuesday
|
|
- `ics <https://calendar.google.com/calendar/ical/eoh3m9k1l6vqbd1fkp94fv5q74%40group.calendar.google.com/public/basic.ics>`__
|
|
`gcal <https://calendar.google.com/calendar/embed?src=eoh3m9k1l6vqbd1fkp94fv5q74%40group.calendar.google.com>`__
|
|
- `Minutes/docs <https://docs.google.com/document/d/1GLCE8cl7goCaLSiM9j1eIq5IqeXt6_YTY2UEcC4jmsg/edit?usp=sharing>`__
|
|
* - `CIRCT <https://github.com/llvm/circt>`__
|
|
- Weekly, on Wednesday
|
|
-
|
|
- `Minutes/docs <https://docs.google.com/document/d/1fOSRdyZR2w75D87yU2Ma9h2-_lEPL4NxvhJGJd-s5pk/edit#heading=h.mulvhjtr8dk9>`__
|
|
* - `MLIR <https://mlir.llvm.org>`__ design meetings
|
|
- Weekly, on Thursdays
|
|
-
|
|
- `Minutes/docs <https://docs.google.com/document/d/1y_9f1AbfgcoVdJh4_aM6-BaSHvrHl8zuA5G4jv_94K8/edit#heading=h.cite1kolful9>`__
|
|
* - flang
|
|
- Multiple meeting series, `documented here <https://github.com/llvm/llvm-project/blob/main/flang/docs/GettingInvolved.md#calls>`__
|
|
-
|
|
-
|
|
* - OpenMP
|
|
- Multiple meeting series, `documented here <https://openmp.llvm.org/docs/SupportAndFAQ.html>`__
|
|
-
|
|
-
|
|
* - LLVM Alias Analysis
|
|
- Every 4 weeks on Tuesdays
|
|
- `ics <http://lists.llvm.org/pipermail/llvm-dev/attachments/20201103/a3499a67/attachment-0001.ics>`__
|
|
- `Minutes/docs <https://docs.google.com/document/d/17U-WvX8qyKc3S36YUKr3xfF-GHunWyYowXbxEdpHscw>`__
|
|
* - Windows/COFF related developments
|
|
- Every 2 months on Thursday
|
|
-
|
|
- `Minutes/docs <https://docs.google.com/document/d/1A-W0Sas_oHWTEl_x_djZYoRtzAdTONMW_6l1BH9G6Bo/edit?usp=sharing>`__
|
|
* - Vector Predication
|
|
- Every 2 weeks on Tuesdays, 3pm UTC
|
|
-
|
|
- `Minutes/docs <https://docs.google.com/document/d/1q26ToudQjnqN5x31zk8zgq_s0lem1-BF8pQmciLa4k8/edit?usp=sharing>`__
|
|
* - LLVM Pointer Authentication
|
|
- Every month on Mondays
|
|
- `ics <https://calendar.google.com/calendar/ical/fr1qtmrmt2s9odufjvurkb6j70%40group.calendar.google.com/public/basic.ics>`__
|
|
- `Minutes/docs <https://docs.google.com/document/d/14IDnh3YY9m6Ej_PaRKOz8tTTZlObgtLl8mYeRbytAec/edit?usp=sharing>`__
|
|
* - MemorySSA in LLVM
|
|
- Every 8 weeks on Mondays
|
|
- `ics <https://calendar.google.com/calendar/ical/c_1mincouiltpa24ac14of14lhi4%40group.calendar.google.com/public/basic.ics>`__
|
|
`gcal <https://calendar.google.com/calendar/embed?src=c_1mincouiltpa24ac14of14lhi4%40group.calendar.google.com>`__
|
|
- `Minutes/docs <https://docs.google.com/document/d/1-uEEZfmRdPThZlctOq9eXlmUaSSAAi8oKxhrPY_lpjk/edit#>`__
|
|
|
|
IRC
|
|
---
|
|
|
|
Users and developers of the LLVM project (including subprojects such as Clang)
|
|
can be found in #llvm on `irc.oftc.net <irc://irc.oftc.net/llvm>`_.
|
|
|
|
This channel has several bots.
|
|
|
|
* Buildbot reporters
|
|
|
|
* llvmbb - Bot for the main LLVM buildbot master.
|
|
http://lab.llvm.org/buildbot/#/console
|
|
|
|
* robot - Bugzilla linker. %bug <number>
|
|
|
|
* clang-bot - A `geordi <http://www.eelis.net/geordi/>`_ instance running
|
|
near-trunk clang instead of gcc.
|
|
|
|
In addition to the traditional IRC there is a
|
|
`Discord <https://discord.com/channels/636084430946959380/636725486533345280>`_
|
|
chat server available. To sign up, please use this
|
|
`invitation link <https://discord.com/invite/xS7Z362>`_.
|
|
|
|
|
|
.. _meetups-social-events:
|
|
|
|
Meetups and social events
|
|
-------------------------
|
|
|
|
.. toctree::
|
|
:hidden:
|
|
|
|
MeetupGuidelines
|
|
|
|
Besides developer `meetings and conferences <https://llvm.org/devmtg/>`_,
|
|
there are several user groups called
|
|
`LLVM Socials <https://www.meetup.com/pro/llvm/>`_. We greatly encourage you to
|
|
join one in your city. Or start a new one if there is none:
|
|
|
|
:doc:`MeetupGuidelines`
|
|
|
|
.. _community-proposals:
|
|
|
|
Community wide proposals
|
|
------------------------
|
|
|
|
Proposals for massive changes in how the community behaves and how the work flow
|
|
can be better.
|
|
|
|
.. toctree::
|
|
:hidden:
|
|
|
|
CodeOfConduct
|
|
Proposals/GitHubMove
|
|
BugpointRedesign
|
|
Proposals/LLVMLibC
|
|
Proposals/TestSuite
|
|
Proposals/VariableNames
|
|
Proposals/VectorizationPlan
|
|
Proposals/VectorPredication
|
|
|
|
:doc:`CodeOfConduct`
|
|
Proposal to adopt a code of conduct on the LLVM social spaces (lists, events,
|
|
IRC, etc).
|
|
|
|
:doc:`Proposals/GitHubMove`
|
|
Proposal to move from SVN/Git to GitHub.
|
|
|
|
:doc:`BugpointRedesign`
|
|
Design doc for a redesign of the Bugpoint tool.
|
|
|
|
:doc:`Proposals/LLVMLibC`
|
|
Proposal to add a libc implementation under the LLVM project.
|
|
|
|
:doc:`Proposals/TestSuite`
|
|
Proposals for additional benchmarks/programs for llvm's test-suite.
|
|
|
|
:doc:`Proposals/VariableNames`
|
|
Proposal to change the variable names coding standard.
|
|
|
|
:doc:`Proposals/VectorizationPlan`
|
|
Proposal to model the process and upgrade the infrastructure of LLVM's Loop Vectorizer.
|
|
|
|
:doc:`Proposals/VectorPredication`
|
|
Proposal for predicated vector instructions in LLVM.
|