527 changes: 153 additions & 374 deletions llvm/docs/GettingStarted.rst

Large diffs are not rendered by default.

67 changes: 34 additions & 33 deletions llvm/docs/Phabricator.rst
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
.. _phabricator-reviews:

=============================
Code Reviews with Phabricator
=============================
Expand All @@ -16,7 +18,7 @@ to respond to free-form comments in mail sent to the commits list.
Sign up
-------

To get started with Phabricator, navigate to `http://reviews.llvm.org`_ and
To get started with Phabricator, navigate to `https://reviews.llvm.org`_ and
click the power icon in the top right. You can register with a GitHub account,
a Google account, or you can create your own profile.

Expand Down Expand Up @@ -151,7 +153,7 @@ ends with the line:
Differential Revision: <URL>

where ``<URL>`` is the URL for the code review, starting with
``http://reviews.llvm.org/``.
``https://reviews.llvm.org/``.

This allows people reading the version history to see the review for
context. This also allows Phabricator to detect the commit, close the
Expand All @@ -162,36 +164,21 @@ be added automatically. If you don't want to use Arcanist, you can add the
``Differential Revision`` line (as the last line) to the commit message
yourself.

Using the Arcanist tool can simplify the process of committing reviewed code
as it will retrieve reviewers, the ``Differential Revision``, etc from the review
and place it in the commit message. Several methods of using Arcanist to commit
code are given below. If you do not wish to use Arcanist then simply commit
the reviewed patch as you would normally.
Using the Arcanist tool can simplify the process of committing reviewed code as
it will retrieve reviewers, the ``Differential Revision``, etc from the review
and place it in the commit message. You may also commit an accepted change
directly using ``git llvm push``, per the section in the :ref:`getting started
guide <commit_from_git>`.

Note that if you commit the change without using Arcanist and forget to add the
``Differential Revision`` line to your commit message then it is recommended
that you close the review manually. In the web UI, under "Leap Into Action" put
the SVN revision number in the Comment, set the Action to "Close Revision" and
click Submit. Note the review must have been Accepted first.

Subversion and Arcanist
^^^^^^^^^^^^^^^^^^^^^^^

On a clean Subversion working copy run the following (where ``<Revision>`` is
the Phabricator review number):

::

arc patch D<Revision>
arc commit --revision D<Revision>

The first command will take the latest version of the reviewed patch and apply it to the working
copy. The second command will commit this revision to trunk.

git-svn and Arcanist
^^^^^^^^^^^^^^^^^^^^

This presumes that the git repository has been configured as described in :ref:`developers-work-with-git-svn`.
Committing someone's change from Phabricator
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

On a clean Git repository on an up to date ``master`` branch run the
following (where ``<Revision>`` is the Phabricator review number):
Expand All @@ -205,17 +192,31 @@ This will create a new branch called ``arcpatch-D<Revision>`` based on the
current ``master`` and will create a commit corresponding to ``D<Revision>`` with a
commit message derived from information in the Phabricator review.

Check you are happy with the commit message and amend it if necessary. Now switch to
the ``master`` branch and add the new commit to it and commit it to trunk. This
can be done by running the following:
Check you are happy with the commit message and amend it if necessary. Then,
make sure the commit is up-to-date, and commit it. This can be done by running
the following:

::

git checkout master
git merge --ff-only arcpatch-D<Revision>
git svn dcommit
git pull --rebase origin master
git show # Ensure the patch looks correct.
ninja check-$whatever # Rerun the appropriate tests if needed.
git llvm push

Subversion and Arcanist (deprecated)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

To download a change from Phabricator and commit it with subversion, you should
first make sure you have a clean working directory. Then run the following
(where ``<Revision>`` is the Phabricator review number):

::

arc patch D<Revision>
arc commit --revision D<Revision>

The first command will take the latest version of the reviewed patch and apply
it to the working copy. The second command will commit this revision to trunk.

Abandoning a change
-------------------
Expand All @@ -241,9 +242,9 @@ requests. We're looking into what the right long-term hosting for this is, but
note that it is a derivative of an existing open source project, and so not
trivially a good fit for an official LLVM project.

.. _LLVM's Phabricator: http://reviews.llvm.org
.. _`http://reviews.llvm.org`: http://reviews.llvm.org
.. _Code Repository Browser: http://reviews.llvm.org/diffusion/
.. _LLVM's Phabricator: https://reviews.llvm.org
.. _`https://reviews.llvm.org`: https://reviews.llvm.org
.. _Code Repository Browser: https://reviews.llvm.org/diffusion/
.. _Arcanist Quick Start: https://secure.phabricator.com/book/phabricator/article/arcanist_quick_start/
.. _Arcanist User Guide: https://secure.phabricator.com/book/phabricator/article/arcanist/
.. _llvm-reviews GitHub project: https://github.com/r4nt/llvm-reviews/
2 changes: 1 addition & 1 deletion llvm/docs/TypeMetadata.rst
Original file line number Diff line number Diff line change
Expand Up @@ -223,4 +223,4 @@ efficiently to minimize the sizes of the underlying bitsets.
ret void
}

.. _GlobalLayoutBuilder: http://git.llvm.org/klaus/llvm/blob/master/include/llvm/Transforms/IPO/LowerTypeTests.h
.. _GlobalLayoutBuilder: https://github.com/llvm/llvm-project/blob/master/llvm/include/llvm/Transforms/IPO/LowerTypeTests.h
2 changes: 1 addition & 1 deletion llvm/docs/Vectorizers.rst
Original file line number Diff line number Diff line change
Expand Up @@ -374,7 +374,7 @@ Performance
-----------

This section shows the execution time of Clang on a simple benchmark:
`gcc-loops <http://llvm.org/viewvc/llvm-project/test-suite/trunk/SingleSource/UnitTests/Vectorizer/>`_.
`gcc-loops <https://github.com/llvm/llvm-test-suite/tree/master/SingleSource/UnitTests/Vectorizer>`_.
This benchmarks is a collection of loops from the GCC autovectorization
`page <http://gcc.gnu.org/projects/tree-ssa/vectorization.html>`_ by Dorit Nuzman.

Expand Down
2 changes: 1 addition & 1 deletion llvm/docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -232,7 +232,7 @@ For developers of applications which use LLVM as a library.

`Documentation for Go bindings <http://godoc.org/llvm.org/llvm/bindings/go/llvm>`_

`ViewVC Repository Browser <http://llvm.org/viewvc/>`_
`Github Source Repository Browser <http://github.com/llvm/llvm-project//>`_
..
:doc:`CompilerWriterInfo`
Expand Down
2 changes: 1 addition & 1 deletion llvm/test/Transforms/SLPVectorizer/AArch64/matmul.ll
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"

; This test is reduced from the matrix multiplication benchmark in the test-suite:
; http://www.llvm.org/viewvc/llvm-project/test-suite/trunk/SingleSource/Benchmarks/Misc/matmul_f64_4x4.c
; https://github.com/llvm/llvm-test-suite/tree/master/SingleSource/Benchmarks/Misc/matmul_f64_4x4.c
; The operations here are expected to be vectorized to <2 x double>.
; Otherwise, performance will suffer on Cortex-A53.

Expand Down
2 changes: 1 addition & 1 deletion llvm/test/Transforms/SLPVectorizer/AArch64/tsc-s352.ll
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"

; This test is reduced from the TSVC evaluation of vectorizers:
; http://www.llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/TSVC/LoopRerolling-flt/tsc.c?view=log
; https://github.com/llvm/llvm-test-suite/commits/master/MultiSource/Benchmarks/TSVC/LoopRerolling-flt/tsc.c
; Two loads and an fmul are expected to be vectorized to <2 x float>.
; Otherwise, performance will suffer on Cortex-A53.
; See https://bugs.llvm.org/show_bug.cgi?id=36280 for more details.
Expand Down