forked from OSchip/llvm-project
[Branch-Rename] Fix some links
According to the [[ https://foundation.llvm.org/docs/branch-rename/ | status of branch rename ]], the master branch of the LLVM repository is removed on 28 Jan 2021. Reviewed By: mehdi_amini Differential Revision: https://reviews.llvm.org/D95766
This commit is contained in:
parent
ad12e6ee95
commit
94fac81fcc
|
@ -17,7 +17,7 @@ namespace google {
|
|||
namespace readability {
|
||||
|
||||
// Check for underscores in the names of googletest tests, per
|
||||
// https://github.com/google/googletest/blob/master/googletest/docs/faq.md#why-should-test-suite-names-and-test-names-not-contain-underscore
|
||||
// https://github.com/google/googletest/blob/master/docs/faq.md#why-should-test-suite-names-and-test-names-not-contain-underscore
|
||||
///
|
||||
/// For the user-facing documentation see:
|
||||
/// http://clang.llvm.org/extra/clang-tidy/checks/google-readability-avoid-underscore-in-googletest-name.html
|
||||
|
|
|
@ -5,7 +5,7 @@ This is not its documentation.
|
|||
|
||||
- the **website** is https://clangd.llvm.org/.
|
||||
- the **bug tracker** is https://github.com/clangd/clangd/issues
|
||||
- the **source code** is hosted at https://github.com/llvm/llvm-project/tree/master/clang-tools-extra/clangd.
|
||||
- the **source code** is hosted at https://github.com/llvm/llvm-project/tree/main/clang-tools-extra/clangd.
|
||||
- the **website source code** is at https://github.com/llvm/clangd-www/
|
||||
|
||||
### Communication channels
|
||||
|
|
|
@ -142,7 +142,7 @@ Vim Integration
|
|||
You can call :program:`clang-rename` directly from Vim! To set up
|
||||
:program:`clang-rename` integration for Vim see
|
||||
`clang/tools/clang-rename/clang-rename.py
|
||||
<https://github.com/llvm/llvm-project/blob/master/clang/tools/clang-rename/clang-rename.py>`_.
|
||||
<https://github.com/llvm/llvm-project/blob/main/clang/tools/clang-rename/clang-rename.py>`_.
|
||||
|
||||
Please note that **you have to save all buffers, in which the replacement will
|
||||
happen before running the tool**.
|
||||
|
@ -159,7 +159,7 @@ Emacs Integration
|
|||
You can also use :program:`clang-rename` while using Emacs! To set up
|
||||
:program:`clang-rename` integration for Emacs see
|
||||
`clang-rename/tool/clang-rename.el
|
||||
<https://github.com/llvm/llvm-project/blob/master/clang/tools/clang-rename/clang-rename.el>`_.
|
||||
<https://github.com/llvm/llvm-project/blob/main/clang/tools/clang-rename/clang-rename.el>`_.
|
||||
|
||||
Once installed, you can point your cursor to symbols you want to rename, press
|
||||
`M-X`, type `clang-rename` and new desired name.
|
||||
|
|
|
@ -128,7 +128,7 @@ style used in the project. For code reviews we mostly use `LLVM Phabricator`_.
|
|||
|
||||
Next, you need to decide which module the check belongs to. Modules
|
||||
are located in subdirectories of `clang-tidy/
|
||||
<https://github.com/llvm/llvm-project/tree/master/clang-tools-extra/clang-tidy/>`_
|
||||
<https://github.com/llvm/llvm-project/tree/main/clang-tools-extra/clang-tidy/>`_
|
||||
and contain checks targeting a certain aspect of code quality (performance,
|
||||
readability, etc.), certain coding style or standard (Google, LLVM, CERT, etc.)
|
||||
or a widely used API (e.g. MPI). Their names are same as user-facing check
|
||||
|
@ -211,7 +211,7 @@ can further inspect them and report diagnostics.
|
|||
|
||||
(If you want to see an example of a useful check, look at
|
||||
`clang-tidy/google/ExplicitConstructorCheck.h
|
||||
<https://github.com/llvm/llvm-project/blob/master/clang-tools-extra/clang-tidy/google/ExplicitConstructorCheck.h>`_
|
||||
<https://github.com/llvm/llvm-project/blob/main/clang-tools-extra/clang-tidy/google/ExplicitConstructorCheck.h>`_
|
||||
and `clang-tidy/google/ExplicitConstructorCheck.cpp
|
||||
<https://reviews.llvm.org/diffusion/L/browse/clang-tools-extra/trunk/clang-tidy/google/ExplicitConstructorCheck.cpp>`_).
|
||||
|
||||
|
|
|
@ -82,7 +82,7 @@ possible with the `Clang Tools`_ analyzer.
|
|||
.. _ReSharper C++: https://www.jetbrains.com/help/resharper/Clang_Tidy_Integration.html
|
||||
.. _Visual Assist: https://docs.wholetomato.com/default.asp?W761
|
||||
.. _Clang Power Tools: https://marketplace.visualstudio.com/items?itemName=caphyon.ClangPowerTools
|
||||
.. _clang-tidy-vs: https://github.com/llvm/llvm-project/tree/master/clang-tools-extra/clang-tidy-vs
|
||||
.. _clang-tidy-vs: https://github.com/llvm/llvm-project/tree/main/clang-tools-extra/clang-tidy-vs
|
||||
|
||||
`MS Visual Studio`_ has a native clang-tidy-vs_ plugin and also can integrate
|
||||
:program:`clang-tidy` by means of three other tools. The `ReSharper C++`_
|
||||
|
|
|
@ -111,7 +111,7 @@ attribute, are:
|
|||
target.
|
||||
|
||||
To see a working example of an attribute plugin, see `the Attribute.cpp example
|
||||
<https://github.com/llvm/llvm-project/blob/master/clang/examples/Attribute/Attribute.cpp>`_.
|
||||
<https://github.com/llvm/llvm-project/blob/main/clang/examples/Attribute/Attribute.cpp>`_.
|
||||
|
||||
Putting it all together
|
||||
=======================
|
||||
|
@ -119,7 +119,7 @@ Putting it all together
|
|||
Let's look at an example plugin that prints top-level function names. This
|
||||
example is checked into the clang repository; please take a look at
|
||||
the `latest version of PrintFunctionNames.cpp
|
||||
<https://github.com/llvm/llvm-project/blob/master/clang/examples/PrintFunctionNames/PrintFunctionNames.cpp>`_.
|
||||
<https://github.com/llvm/llvm-project/blob/main/clang/examples/PrintFunctionNames/PrintFunctionNames.cpp>`_.
|
||||
|
||||
Running the plugin
|
||||
==================
|
||||
|
@ -160,7 +160,7 @@ source tree:
|
|||
-plugin -Xclang print-fns
|
||||
|
||||
Also see the print-function-name plugin example's
|
||||
`README <https://github.com/llvm/llvm-project/blob/master/clang/examples/PrintFunctionNames/README.txt>`_
|
||||
`README <https://github.com/llvm/llvm-project/blob/main/clang/examples/PrintFunctionNames/README.txt>`_
|
||||
|
||||
|
||||
Using the clang command line
|
||||
|
|
|
@ -11,7 +11,7 @@ refactoring, etc.
|
|||
Only a couple of the most basic and fundamental tools are kept in the
|
||||
primary Clang tree. The rest of the tools are kept in a separate
|
||||
directory tree, `clang-tools-extra
|
||||
<https://github.com/llvm/llvm-project/tree/master/clang-tools-extra>`_.
|
||||
<https://github.com/llvm/llvm-project/tree/main/clang-tools-extra>`_.
|
||||
|
||||
This document describes a high-level overview of the organization of
|
||||
Clang Tools within the project as well as giving an introduction to some
|
||||
|
|
|
@ -196,7 +196,7 @@ those sub-hierarchies need to be (see "Stripping Leading/Trailing Zeros in Bit
|
|||
Vectors" above). The `GlobalLayoutBuilder`_ class is responsible for laying
|
||||
out the globals efficiently to minimize the sizes of the underlying bitsets.
|
||||
|
||||
.. _GlobalLayoutBuilder: https://github.com/llvm/llvm-project/blob/master/llvm/include/llvm/Transforms/IPO/LowerTypeTests.h
|
||||
.. _GlobalLayoutBuilder: https://github.com/llvm/llvm-project/blob/main/llvm/include/llvm/Transforms/IPO/LowerTypeTests.h
|
||||
|
||||
Alignment
|
||||
~~~~~~~~~
|
||||
|
@ -300,7 +300,7 @@ The interleaving scheme, however, can only work with individual virtual tables s
|
|||
In comparison, the old scheme does not require the splitting but it is more efficient when the combined virtual tables have been split.
|
||||
The `GlobalSplit`_ pass is responsible for splitting combined virtual tables into individual ones.
|
||||
|
||||
.. _GlobalSplit: https://github.com/llvm/llvm-project/blob/master/llvm/lib/Transforms/IPO/GlobalSplit.cpp
|
||||
.. _GlobalSplit: https://github.com/llvm/llvm-project/blob/main/llvm/lib/Transforms/IPO/GlobalSplit.cpp
|
||||
|
||||
Order virtual tables by a pre-order traversal of the class hierarchy
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
|
|
@ -2260,7 +2260,7 @@ semantic checking for some attributes, etc.
|
|||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
The first step to adding a new attribute to Clang is to add its definition to
|
||||
`include/clang/Basic/Attr.td
|
||||
<https://github.com/llvm/llvm-project/blob/master/clang/include/clang/Basic/Attr.td>`_.
|
||||
<https://github.com/llvm/llvm-project/blob/main/clang/include/clang/Basic/Attr.td>`_.
|
||||
This tablegen definition must derive from the ``Attr`` (tablegen, not
|
||||
semantic) type, or one of its derivatives. Most attributes will derive from the
|
||||
``InheritableAttr`` type, which specifies that the attribute can be inherited by
|
||||
|
@ -2328,10 +2328,10 @@ the ``SubjectList``. The diagnostics generated for subject list violations are
|
|||
either ``diag::warn_attribute_wrong_decl_type`` or
|
||||
``diag::err_attribute_wrong_decl_type``, and the parameter enumeration is found
|
||||
in `include/clang/Sema/ParsedAttr.h
|
||||
<https://github.com/llvm/llvm-project/blob/master/clang/include/clang/Sema/ParsedAttr.h>`_
|
||||
<https://github.com/llvm/llvm-project/blob/main/clang/include/clang/Sema/ParsedAttr.h>`_
|
||||
If a previously unused Decl node is added to the ``SubjectList``, the logic used
|
||||
to automatically determine the diagnostic parameter in `utils/TableGen/ClangAttrEmitter.cpp
|
||||
<https://github.com/llvm/llvm-project/blob/master/clang/utils/TableGen/ClangAttrEmitter.cpp>`_
|
||||
<https://github.com/llvm/llvm-project/blob/main/clang/utils/TableGen/ClangAttrEmitter.cpp>`_
|
||||
may need to be updated.
|
||||
|
||||
By default, all subjects in the SubjectList must either be a Decl node defined
|
||||
|
@ -2353,7 +2353,7 @@ All attributes must have some form of documentation associated with them.
|
|||
Documentation is table generated on the public web server by a server-side
|
||||
process that runs daily. Generally, the documentation for an attribute is a
|
||||
stand-alone definition in `include/clang/Basic/AttrDocs.td
|
||||
<https://github.com/llvm/llvm-project/blob/master/clang/include/clang/Basic/AttrDocs.td>`_
|
||||
<https://github.com/llvm/llvm-project/blob/main/clang/include/clang/Basic/AttrDocs.td>`_
|
||||
that is named after the attribute being documented.
|
||||
|
||||
If the attribute is not for public consumption, or is an implicitly-created
|
||||
|
@ -2404,7 +2404,7 @@ All arguments have a name and a flag that specifies whether the argument is
|
|||
optional. The associated C++ type of the argument is determined by the argument
|
||||
definition type. If the existing argument types are insufficient, new types can
|
||||
be created, but it requires modifying `utils/TableGen/ClangAttrEmitter.cpp
|
||||
<https://github.com/llvm/llvm-project/blob/master/clang/utils/TableGen/ClangAttrEmitter.cpp>`_
|
||||
<https://github.com/llvm/llvm-project/blob/main/clang/utils/TableGen/ClangAttrEmitter.cpp>`_
|
||||
to properly support the type.
|
||||
|
||||
Other Properties
|
||||
|
@ -2416,7 +2416,7 @@ document, however a few deserve mention.
|
|||
If the parsed form of the attribute is more complex, or differs from the
|
||||
semantic form, the ``HasCustomParsing`` bit can be set to ``1`` for the class,
|
||||
and the parsing code in `Parser::ParseGNUAttributeArgs()
|
||||
<https://github.com/llvm/llvm-project/blob/master/clang/lib/Parse/ParseDecl.cpp>`_
|
||||
<https://github.com/llvm/llvm-project/blob/main/clang/lib/Parse/ParseDecl.cpp>`_
|
||||
can be updated for the special case. Note that this only applies to arguments
|
||||
with a GNU spelling -- attributes with a __declspec spelling currently ignore
|
||||
this flag and are handled by ``Parser::ParseMicrosoftDeclSpec``.
|
||||
|
@ -2482,7 +2482,7 @@ semantic attribute class object, with ``public`` access.
|
|||
Boilerplate
|
||||
^^^^^^^^^^^
|
||||
All semantic processing of declaration attributes happens in `lib/Sema/SemaDeclAttr.cpp
|
||||
<https://github.com/llvm/llvm-project/blob/master/clang/lib/Sema/SemaDeclAttr.cpp>`_,
|
||||
<https://github.com/llvm/llvm-project/blob/main/clang/lib/Sema/SemaDeclAttr.cpp>`_,
|
||||
and generally starts in the ``ProcessDeclAttribute()`` function. If the
|
||||
attribute has the ``SimpleHandler`` field set to ``1`` then the function to
|
||||
process the attribute will be automatically generated, and nothing needs to be
|
||||
|
@ -2497,11 +2497,11 @@ correct minimum number of arguments are passed, etc.
|
|||
|
||||
If the attribute adds additional warnings, define a ``DiagGroup`` in
|
||||
`include/clang/Basic/DiagnosticGroups.td
|
||||
<https://github.com/llvm/llvm-project/blob/master/clang/include/clang/Basic/DiagnosticGroups.td>`_
|
||||
<https://github.com/llvm/llvm-project/blob/main/clang/include/clang/Basic/DiagnosticGroups.td>`_
|
||||
named after the attribute's ``Spelling`` with "_"s replaced by "-"s. If there
|
||||
is only a single diagnostic, it is permissible to use ``InGroup<DiagGroup<"your-attribute">>``
|
||||
directly in `DiagnosticSemaKinds.td
|
||||
<https://github.com/llvm/llvm-project/blob/master/clang/include/clang/Basic/DiagnosticSemaKinds.td>`_
|
||||
<https://github.com/llvm/llvm-project/blob/main/clang/include/clang/Basic/DiagnosticSemaKinds.td>`_
|
||||
|
||||
All semantic diagnostics generated for your attribute, including automatically-
|
||||
generated ones (such as subjects and argument counts), should have a
|
||||
|
|
|
@ -198,4 +198,4 @@ Linking
|
|||
|
||||
For a list of libraries to link, look at one of the tools' CMake files (for
|
||||
example `clang-check/CMakeList.txt
|
||||
<https://github.com/llvm/llvm-project/blob/master/clang/tools/clang-check/CMakeLists.txt>`_).
|
||||
<https://github.com/llvm/llvm-project/blob/main/clang/tools/clang-check/CMakeLists.txt>`_).
|
||||
|
|
|
@ -442,7 +442,7 @@ public:
|
|||
|
||||
/// Values for bit flags used in the ident_t to describe the fields.
|
||||
/// All enumeric elements are named and described in accordance with the code
|
||||
/// from https://github.com/llvm/llvm-project/blob/master/openmp/runtime/src/kmp.h
|
||||
/// from https://github.com/llvm/llvm-project/blob/main/openmp/runtime/src/kmp.h
|
||||
enum OpenMPLocationFlags : unsigned {
|
||||
/// Use trampoline for internal microtask.
|
||||
OMP_IDENT_IMD = 0x01,
|
||||
|
@ -497,7 +497,7 @@ enum OpenMPOffloadingReservedDeviceIDs {
|
|||
|
||||
/// Describes ident structure that describes a source location.
|
||||
/// All descriptions are taken from
|
||||
/// https://github.com/llvm/llvm-project/blob/master/openmp/runtime/src/kmp.h
|
||||
/// https://github.com/llvm/llvm-project/blob/main/openmp/runtime/src/kmp.h
|
||||
/// Original structure:
|
||||
/// typedef struct ident {
|
||||
/// kmp_int32 reserved_1; /**< might be used in Fortran;
|
||||
|
@ -4249,7 +4249,7 @@ CGOpenMPRuntime::emitTaskInit(CodeGenFunction &CGF, SourceLocation Loc,
|
|||
// kmp_int32 flags, size_t sizeof_kmp_task_t, size_t sizeof_shareds,
|
||||
// kmp_routine_entry_t *task_entry);
|
||||
// Task flags. Format is taken from
|
||||
// https://github.com/llvm/llvm-project/blob/master/openmp/runtime/src/kmp.h,
|
||||
// https://github.com/llvm/llvm-project/blob/main/openmp/runtime/src/kmp.h,
|
||||
// description of kmp_tasking_flags struct.
|
||||
enum {
|
||||
TiedFlag = 0x1,
|
||||
|
|
|
@ -789,11 +789,11 @@ Static Analyzer:
|
|||
<li><a href="http://lcs.ios.ac.cn/~xuzb/canalyze/memmodel.pdf">Xu, Zhongxing &
|
||||
Kremenek, Ted & Zhang, Jian. (2010). A Memory Model for Static Analysis of C
|
||||
Programs.</a></li>
|
||||
<li><a href="https://github.com/llvm/llvm-project/blob/master/clang/lib/StaticAnalyzer/README.txt">
|
||||
<li><a href="https://github.com/llvm/llvm-project/blob/main/clang/lib/StaticAnalyzer/README.txt">
|
||||
The Clang Static Analyzer README</a></li>
|
||||
<li><a href="https://github.com/llvm/llvm-project/blob/master/clang/docs/analyzer/RegionStore.txt">
|
||||
<li><a href="https://github.com/llvm/llvm-project/blob/main/clang/docs/analyzer/RegionStore.txt">
|
||||
Documentation for how the Store works</a></li>
|
||||
<li><a href="https://github.com/llvm/llvm-project/blob/master/clang/docs/analyzer/IPA.txt">
|
||||
<li><a href="https://github.com/llvm/llvm-project/blob/main/clang/docs/analyzer/IPA.txt">
|
||||
Documentation about inlining</a></li>
|
||||
<li> The "Building a Checker in 24 hours" presentation given at the <a
|
||||
href="https://llvm.org/devmtg/2012-11">November 2012 LLVM Developer's
|
||||
|
|
|
@ -96,7 +96,7 @@ mailing list</a> to notify other members of the community.</p>
|
|||
We should model (potentially some of) such evaluations,
|
||||
and the same applies for destructors called from
|
||||
<code>operator delete[]</code>.
|
||||
See tests cases in <a href="https://github.com/llvm/llvm-project/tree/master/clang/test/Analysis/handle_constructors_with_new_array.cpp">handle_constructors_with_new_array.cpp</a>.
|
||||
See tests cases in <a href="https://github.com/llvm/llvm-project/tree/main/clang/test/Analysis/handle_constructors_with_new_array.cpp">handle_constructors_with_new_array.cpp</a>.
|
||||
</p>
|
||||
<p>
|
||||
Constructing an array requires invoking multiple (potentially unknown)
|
||||
|
@ -135,7 +135,7 @@ mailing list</a> to notify other members of the community.</p>
|
|||
<li>Handle constructors for default arguments
|
||||
<p>Default arguments in C++ are recomputed at every call,
|
||||
and are therefore local, and not static, variables.
|
||||
See tests cases in <a href="https://github.com/llvm/llvm-project/tree/master/clang/test/Analysis/handle_constructors_for_default_arguments.cpp">handle_constructors_for_default_arguments.cpp</a>.
|
||||
See tests cases in <a href="https://github.com/llvm/llvm-project/tree/main/clang/test/Analysis/handle_constructors_for_default_arguments.cpp">handle_constructors_for_default_arguments.cpp</a>.
|
||||
</p>
|
||||
<p>
|
||||
Default arguments are annoying because the initializer expression is
|
||||
|
|
|
@ -89,7 +89,7 @@
|
|||
wrapped <tt>Type*</tt> which you can then dump.</li>
|
||||
<li>For <a href="https://lldb.llvm.org"> <tt>LLDB</tt></a> users there are
|
||||
data formatters for clang data structures in
|
||||
<a href="https://github.com/llvm/llvm-project/blob/master/clang/utils/ClangDataFormat.py">
|
||||
<a href="https://github.com/llvm/llvm-project/blob/main/clang/utils/ClangDataFormat.py">
|
||||
<tt>clang/utils/ClangDataFormat.py</tt></a>.</li>
|
||||
</ul>
|
||||
|
||||
|
@ -98,9 +98,9 @@
|
|||
<!--=====================================================================-->
|
||||
|
||||
<p>The files
|
||||
<a href="https://github.com/llvm/llvm-project/blob/master/llvm/utils/LLVMVisualizers/llvm.natvis">
|
||||
<a href="https://github.com/llvm/llvm-project/blob/main/llvm/utils/LLVMVisualizers/llvm.natvis">
|
||||
<tt>llvm/utils/LLVMVisualizers/llvm.natvis</tt></a> and
|
||||
<a href="https://github.com/llvm/llvm-project/blob/master/clang/utils/ClangVisualizers/clang.natvis">
|
||||
<a href="https://github.com/llvm/llvm-project/blob/main/clang/utils/ClangVisualizers/clang.natvis">
|
||||
<tt>clang/utils/ClangVisualizers/clang.natvis</tt></a> provide debugger visualizers
|
||||
that make debugging of more complex data types much easier.</p>
|
||||
<p>For Visual Studio 2013 only, put the files into
|
||||
|
|
|
@ -43,7 +43,7 @@
|
|||
<div class="submenu">
|
||||
<label>The Code</label>
|
||||
<a href="/get_started.html#build">Check Out Sources</a>
|
||||
<a href="https://github.com/llvm/llvm-project/tree/master/clang/">Browse Sources</a>
|
||||
<a href="https://github.com/llvm/llvm-project/tree/main/clang/">Browse Sources</a>
|
||||
<a href="http://clang.llvm.org/doxygen/">doxygen</a>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -30,7 +30,7 @@ __extension__ typedef __int128 __tsan_atomic128;
|
|||
#endif
|
||||
|
||||
// Part of ABI, do not change.
|
||||
// https://github.com/llvm/llvm-project/blob/master/libcxx/include/atomic
|
||||
// https://github.com/llvm/llvm-project/blob/main/libcxx/include/atomic
|
||||
typedef enum {
|
||||
__tsan_memory_order_relaxed,
|
||||
__tsan_memory_order_consume,
|
||||
|
|
|
@ -204,7 +204,7 @@ __extension__ typedef __int128 a128;
|
|||
#endif
|
||||
|
||||
// Part of ABI, do not change.
|
||||
// https://github.com/llvm/llvm-project/blob/master/libcxx/include/atomic
|
||||
// https://github.com/llvm/llvm-project/blob/main/libcxx/include/atomic
|
||||
typedef enum {
|
||||
mo_relaxed,
|
||||
mo_consume,
|
||||
|
|
|
@ -13,6 +13,6 @@
|
|||
<a href="http://lists.llvm.org/mailman/listinfo/llvm-dev">llvm-dev</a>
|
||||
<a href="http://lists.llvm.org/mailman/listinfo/llvm-commits">llvm-commits</a>
|
||||
<a href="http://llvm.org/bugs/">Bug Reports</a>
|
||||
<a href="https://github.com/llvm/llvm-project/tree/master/compiler-rt/">Browse Sources</a>
|
||||
<a href="https://github.com/llvm/llvm-project/tree/main/compiler-rt/">Browse Sources</a>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -34,7 +34,7 @@ and
|
|||
also review [how flang uses modern C++ features](docs/C++17.md).
|
||||
|
||||
If you are interested in writing new documentation, follow
|
||||
[markdown style guide from LLVM](https://github.com/llvm/llvm-project/blob/master/llvm/docs/MarkdownQuickstartTemplate.md).
|
||||
[markdown style guide from LLVM](https://github.com/llvm/llvm-project/blob/main/llvm/docs/MarkdownQuickstartTemplate.md).
|
||||
|
||||
## Supported C++ compilers
|
||||
|
||||
|
|
|
@ -4,21 +4,21 @@
|
|||
<h3>Documentation</h3>
|
||||
|
||||
<ul class="want-points">
|
||||
<li><a href="https://github.com/llvm/llvm-project/blob/master/flang/README.md#getting-started">Getting Started</a></li>
|
||||
<li><a href="https://github.com/llvm/llvm-project/blob/main/flang/README.md#getting-started">Getting Started</a></li>
|
||||
</ul>
|
||||
|
||||
<h3>Getting Involved</h3>
|
||||
<! TODO: Point links to website(flang.llvm.org) and not github once webpage comes up.>
|
||||
<ul class="want-points">
|
||||
<li><a href="https://github.com/llvm/llvm-project/blob/master/flang/docs/GettingInvolved.md#mailing-lists">Mailing Lists</a></li>
|
||||
<li><a href="https://github.com/llvm/llvm-project/blob/master/flang/docs/GettingInvolved.md#chat">Slack</a></li>
|
||||
<li><a href="https://github.com/llvm/llvm-project/blob/master/flang/docs/GettingInvolved.md#calls">Calls</a></li>
|
||||
<li><a href="https://github.com/llvm/llvm-project/blob/main/flang/docs/GettingInvolved.md#mailing-lists">Mailing Lists</a></li>
|
||||
<li><a href="https://github.com/llvm/llvm-project/blob/main/flang/docs/GettingInvolved.md#chat">Slack</a></li>
|
||||
<li><a href="https://github.com/llvm/llvm-project/blob/main/flang/docs/GettingInvolved.md#calls">Calls</a></li>
|
||||
</ul>
|
||||
|
||||
<h3>Additional Links</h3>
|
||||
|
||||
<ul class="want-points">
|
||||
<li><a href="https://github.com/llvm/llvm-project/tree/master/flang/">Github Repository</a></li>
|
||||
<li><a href="https://github.com/llvm/llvm-project/tree/main/flang/">Github Repository</a></li>
|
||||
<li><a href="https://bugs.llvm.org/">Bug Reports</a></li>
|
||||
<li><a href="https://reviews.llvm.org/">Code Review</a></li>
|
||||
<! TODO: Have the bots setup first>
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
;; Define a cc-mode style for editing C++ codes in Flang.
|
||||
;;
|
||||
;; Inspired from LLVM style in
|
||||
;; https://github.com/llvm-mirror/llvm/blob/master/utils/emacs/emacs.el
|
||||
;; https://github.com/llvm/llvm-project/blob/main/llvm/utils/emacs/emacs.el
|
||||
;;
|
||||
|
||||
(c-add-style "flang"
|
||||
|
|
|
@ -219,4 +219,4 @@ Quick Links
|
|||
* `LLVM Bugzilla <https://bugs.llvm.org/>`_
|
||||
* `libcxx-commits Mailing List`_
|
||||
* `libcxx-dev Mailing List`_
|
||||
* `Browse libc++ Sources <https://github.com/llvm/llvm-project/tree/master/libcxx/>`_
|
||||
* `Browse libc++ Sources <https://github.com/llvm/llvm-project/tree/main/libcxx/>`_
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
<a href="https://lists.llvm.org/mailman/listinfo/cfe-dev">cfe-dev</a>
|
||||
<a href="https://lists.llvm.org/mailman/listinfo/cfe-commits">cfe-commits</a>
|
||||
<a href="https://bugs.llvm.org/">Bug Reports</a>
|
||||
<a href="https://github.com/llvm/llvm-project/tree/master/libcxx/">Browse Sources</a>
|
||||
<a href="https://github.com/llvm/llvm-project/tree/main/libcxx/">Browse Sources</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
<a href="https://lists.llvm.org/mailman/listinfo/cfe-dev">cfe-dev</a>
|
||||
<a href="https://lists.llvm.org/mailman/listinfo/cfe-commits">cfe-commits</a>
|
||||
<a href="https://bugs.llvm.org/">Bug Reports</a>
|
||||
<a href="https://github.com/llvm/llvm-project/tree/master/libcxx/">Browse Sources</a>
|
||||
<a href="https://github.com/llvm/llvm-project/tree/main/libcxx/">Browse Sources</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
<a href="https://lists.llvm.org/mailman/listinfo/cfe-dev">cfe-dev</a>
|
||||
<a href="https://lists.llvm.org/mailman/listinfo/cfe-commits">cfe-commits</a>
|
||||
<a href="https://bugs.llvm.org/">Bug Reports</a>
|
||||
<a href="https://github.com/llvm/llvm-project/tree/master/libcxx/">Browse Sources</a>
|
||||
<a href="https://github.com/llvm/llvm-project/tree/main/libcxx/">Browse Sources</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
<a href="https://lists.llvm.org/mailman/listinfo/cfe-dev">cfe-dev</a>
|
||||
<a href="https://lists.llvm.org/mailman/listinfo/cfe-commits">cfe-commits</a>
|
||||
<a href="https://bugs.llvm.org/">Bug Reports</a>
|
||||
<a href="https://github.com/llvm/llvm-project/tree/master/libcxx/">Browse Sources</a>
|
||||
<a href="https://github.com/llvm/llvm-project/tree/main/libcxx/">Browse Sources</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
<a href="https://lists.llvm.org/mailman/listinfo/libcxx-dev">libcxx-dev</a>
|
||||
<a href="https://lists.llvm.org/mailman/listinfo/libcxx-commits">libcxx-commits</a>
|
||||
<a href="https://bugs.llvm.org/">Bug Reports</a>
|
||||
<a href="https://github.com/llvm/llvm-project/tree/master/libcxx/">Browse Sources</a>
|
||||
<a href="https://github.com/llvm/llvm-project/tree/main/libcxx/">Browse Sources</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
<a href="https://lists.llvm.org/mailman/listinfo/cfe-dev">cfe-dev</a>
|
||||
<a href="https://lists.llvm.org/mailman/listinfo/cfe-commits">cfe-commits</a>
|
||||
<a href="https://bugs.llvm.org/">Bug Reports</a>
|
||||
<a href="https://github.com/llvm/llvm-project/tree/master/libcxx/">Browse Sources</a>
|
||||
<a href="https://github.com/llvm/llvm-project/tree/main/libcxx/">Browse Sources</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
<a href="https://lists.llvm.org/mailman/listinfo/cfe-dev">cfe-dev</a>
|
||||
<a href="https://lists.llvm.org/mailman/listinfo/cfe-commits">cfe-commits</a>
|
||||
<a href="https://bugs.llvm.org/">Bug Reports</a>
|
||||
<a href="https://github.com/llvm/llvm-project/tree/master/libcxx/">Browse Sources</a>
|
||||
<a href="https://github.com/llvm/llvm-project/tree/main/libcxx/">Browse Sources</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
<a href="https://lists.llvm.org/mailman/listinfo/cfe-dev">cfe-dev</a>
|
||||
<a href="https://lists.llvm.org/mailman/listinfo/cfe-commits">cfe-commits</a>
|
||||
<a href="https://bugs.llvm.org/">Bug Reports</a>
|
||||
<a href="https://github.com/llvm/llvm-project/tree/master/libcxx/">Browse Sources</a>
|
||||
<a href="https://github.com/llvm/llvm-project/tree/main/libcxx/">Browse Sources</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
<a href="https://lists.llvm.org/mailman/listinfo/libcxx-dev">libcxx-dev</a>
|
||||
<a href="https://lists.llvm.org/mailman/listinfo/libcxx-commits">libcxx-commits</a>
|
||||
<a href="https://bugs.llvm.org/">Bug Reports</a>
|
||||
<a href="https://github.com/llvm/llvm-project/tree/master/libcxxabi/">Browse Sources</a>
|
||||
<a href="https://github.com/llvm/llvm-project/tree/main/libcxxabi/">Browse Sources</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -101,4 +101,4 @@ Quick Links
|
|||
* `LLVM Bugzilla <https://bugs.llvm.org/>`_
|
||||
* `cfe-commits Mailing List`_
|
||||
* `cfe-dev Mailing List`_
|
||||
* `Browse libunwind Sources <https://github.com/llvm/llvm-project/blob/master/libunwind/>`_
|
||||
* `Browse libunwind Sources <https://github.com/llvm/llvm-project/blob/main/libunwind/>`_
|
||||
|
|
|
@ -12,7 +12,7 @@ Please refer to the `LLVM Getting Started Guide
|
|||
general instructions on how to check out the LLVM monorepo, which contains the
|
||||
LLDB sources.
|
||||
|
||||
Git browser: https://github.com/llvm/llvm-project/tree/master/lldb
|
||||
Git browser: https://github.com/llvm/llvm-project/tree/main/lldb
|
||||
|
||||
Preliminaries
|
||||
-------------
|
||||
|
@ -326,7 +326,7 @@ CMake scripts and can be useful to reproduce builds for particular use-cases
|
|||
A cache is passed to CMake with the ``-C`` flag, following the absolute path to
|
||||
the file on disk. Subsequent ``-D`` options are still allowed. Please find the
|
||||
currently available caches in the `lldb/cmake/caches/
|
||||
<https://github.com/llvm/llvm-project/tree/master/lldb/cmake/caches>`_
|
||||
<https://github.com/llvm/llvm-project/tree/main/lldb/cmake/caches>`_
|
||||
directory.
|
||||
|
||||
Common configurations on macOS
|
||||
|
|
|
@ -99,10 +99,10 @@ implementation is located under ``lldb/packages/Python/lldbsuite``. We have
|
|||
several extensions and custom test primitives on top of what's offered by
|
||||
`unittest2 <https://docs.python.org/2/library/unittest.html>`_. Those can be
|
||||
found in
|
||||
`lldbtest.py <https://github.com/llvm/llvm-project/blob/master/lldb/packages/Python/lldbsuite/test/lldbtest.py>`_.
|
||||
`lldbtest.py <https://github.com/llvm/llvm-project/blob/main/lldb/packages/Python/lldbsuite/test/lldbtest.py>`_.
|
||||
|
||||
Below is the directory layout of the `example API test
|
||||
<https://github.com/llvm/llvm-project/tree/master/lldb/test/API/sample_test>`_.
|
||||
<https://github.com/llvm/llvm-project/tree/main/lldb/test/API/sample_test>`_.
|
||||
The test directory will always contain a python file, starting with ``Test``.
|
||||
Most of the tests are structured as a binary being debugged, so there will be
|
||||
one or more source files and a ``Makefile``.
|
||||
|
@ -127,7 +127,7 @@ Our testing framework also has a bunch of utilities that abstract common
|
|||
operations, such as creating targets, setting breakpoints etc. When code is
|
||||
shared across tests, we extract it into a utility in ``lldbutil``. It's always
|
||||
worth taking a look at `lldbutil
|
||||
<https://github.com/llvm/llvm-project/blob/master/lldb/packages/Python/lldbsuite/test/lldbutil.py>`_
|
||||
<https://github.com/llvm/llvm-project/blob/main/lldb/packages/Python/lldbsuite/test/lldbutil.py>`_
|
||||
to see if there's a utility to simplify some of the testing boiler plate.
|
||||
Because we can't always audit every existing test, this is doubly true when
|
||||
looking at an existing test for inspiration.
|
||||
|
@ -168,7 +168,7 @@ Here's an example of a simple ``Makefile`` used by the example test.
|
|||
include Makefile.rules
|
||||
|
||||
Finding the right variables to set can be tricky. You can always take a look at
|
||||
`Makefile.rules <https://github.com/llvm/llvm-project/blob/master/lldb/packages/Python/lldbsuite/test/make/Makefile.rules>`_
|
||||
`Makefile.rules <https://github.com/llvm/llvm-project/blob/main/lldb/packages/Python/lldbsuite/test/make/Makefile.rules>`_
|
||||
but often it's easier to find an existing ``Makefile`` that does something
|
||||
similar to what you want to do.
|
||||
|
||||
|
|
|
@ -420,11 +420,11 @@ run its operations.
|
|||
There is a longer discussion of scripted thread plans and the state machine,
|
||||
and several interesting examples of their use in:
|
||||
|
||||
https://github.com/llvm/llvm-project/blob/master/lldb/examples/python/scripted_step.py
|
||||
https://github.com/llvm/llvm-project/blob/main/lldb/examples/python/scripted_step.py
|
||||
|
||||
And for a MUCH fuller discussion of the whole state machine, see:
|
||||
|
||||
https://github.com/llvm/llvm-project/blob/master/lldb/include/lldb/Target/ThreadPlan.h
|
||||
https://github.com/llvm/llvm-project/blob/main/lldb/include/lldb/Target/ThreadPlan.h
|
||||
|
||||
If you are reading those comments it is useful to know that scripted thread
|
||||
plans are set to be "MasterPlans", and not "OkayToDiscard".
|
||||
|
@ -625,7 +625,7 @@ Now we can load the module into LLDB and use it
|
|||
A more interesting template has been created in the source repository that can
|
||||
help you to create lldb command quickly:
|
||||
|
||||
https://github.com/llvm/llvm-project/blob/master/lldb/examples/python/cmdtemplate.py
|
||||
https://github.com/llvm/llvm-project/blob/main/lldb/examples/python/cmdtemplate.py
|
||||
|
||||
A commonly required facility is being able to create a command that does some
|
||||
token substitution, and then runs a different debugger command (usually, it
|
||||
|
|
|
@ -393,7 +393,7 @@ Performance
|
|||
-----------
|
||||
|
||||
This section shows the execution time of Clang on a simple benchmark:
|
||||
`gcc-loops <https://github.com/llvm/llvm-test-suite/tree/master/SingleSource/UnitTests/Vectorizer>`_.
|
||||
`gcc-loops <https://github.com/llvm/llvm-test-suite/tree/main/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.
|
||||
|
||||
|
|
|
@ -5242,7 +5242,7 @@ LegalizerHelper::LegalizeResult LegalizerHelper::lowerFPTOSI(MachineInstr &MI) {
|
|||
|
||||
// Expand f32 -> i64 conversion
|
||||
// This algorithm comes from compiler-rt's implementation of fixsfdi:
|
||||
// https://github.com/llvm/llvm-project/blob/master/compiler-rt/lib/builtins/fixsfdi.c
|
||||
// https://github.com/llvm/llvm-project/blob/main/compiler-rt/lib/builtins/fixsfdi.c
|
||||
|
||||
unsigned SrcEltBits = SrcTy.getScalarSizeInBits();
|
||||
|
||||
|
|
|
@ -6514,7 +6514,7 @@ bool TargetLowering::expandFP_TO_SINT(SDNode *Node, SDValue &Result,
|
|||
|
||||
// Expand f32 -> i64 conversion
|
||||
// This algorithm comes from compiler-rt's implementation of fixsfdi:
|
||||
// https://github.com/llvm/llvm-project/blob/master/compiler-rt/lib/builtins/fixsfdi.c
|
||||
// https://github.com/llvm/llvm-project/blob/main/compiler-rt/lib/builtins/fixsfdi.c
|
||||
unsigned SrcEltBits = SrcVT.getScalarSizeInBits();
|
||||
EVT IntVT = SrcVT.changeTypeToInteger();
|
||||
EVT IntShVT = getShiftAmountTy(IntVT, DAG.getDataLayout());
|
||||
|
|
|
@ -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:
|
||||
; https://github.com/llvm/llvm-test-suite/tree/master/SingleSource/Benchmarks/Misc/matmul_f64_4x4.c
|
||||
; https://github.com/llvm/llvm-test-suite/tree/main/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.
|
||||
|
||||
|
|
|
@ -54,7 +54,7 @@ Source
|
|||
======
|
||||
|
||||
The *lit* source is available as part of LLVM, in the LLVM source repository:
|
||||
https://github.com/llvm/llvm-project/tree/master/llvm/utils/lit
|
||||
https://github.com/llvm/llvm-project/tree/main/llvm/utils/lit
|
||||
""",
|
||||
|
||||
classifiers=[
|
||||
|
|
|
@ -740,4 +740,4 @@ deduction ability. See [building operations](#building-operations) for more
|
|||
details.
|
||||
|
||||
[TableGen]: https://llvm.org/docs/TableGen/index.html
|
||||
[OpBase]: https://github.com/llvm/llvm-project/blob/master/mlir/include/mlir/IR/OpBase.td
|
||||
[OpBase]: https://github.com/llvm/llvm-project/blob/main/mlir/include/mlir/IR/OpBase.td
|
||||
|
|
|
@ -1387,7 +1387,7 @@ dialect.
|
|||
[SpirvTools]: https://github.com/KhronosGroup/SPIRV-Tools
|
||||
[Rationale]: ../Rationale/#block-arguments-vs-phi-nodes
|
||||
[ODS]: ../OpDefinitions.md
|
||||
[GreedyPatternRewriter]: https://github.com/llvm/llvm-project/blob/master/mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
|
||||
[GreedyPatternRewriter]: https://github.com/llvm/llvm-project/blob/main/mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
|
||||
[MlirDialectConversionTypeConversion]: ../DialectConversion.md#type-converter
|
||||
[MlirDialectConversionRewritePattern]: ../DialectConversion.md#conversion-patterns
|
||||
[MlirDialectConversionSignatureConversion]: ../DialectConversion.md#region-signature-conversion
|
||||
|
@ -1399,26 +1399,26 @@ dialect.
|
|||
[MlirIndexType]: ../LangRef.md#index-type
|
||||
[MlirGpuDialect]: ../Dialects/GPU.md
|
||||
[MlirStandardDialect]: ../Dialects/Standard.md
|
||||
[MlirSpirvHeaders]: https://github.com/llvm/llvm-project/tree/master/mlir/include/mlir/Dialect/SPIRV
|
||||
[MlirSpirvLibs]: https://github.com/llvm/llvm-project/tree/master/mlir/lib/Dialect/SPIRV
|
||||
[MlirSpirvTests]: https://github.com/llvm/llvm-project/tree/master/mlir/test/Dialect/SPIRV
|
||||
[MlirSpirvUnittests]: https://github.com/llvm/llvm-project/tree/master/mlir/unittests/Dialect/SPIRV
|
||||
[MlirGpuToSpirvHeaders]: https://github.com/llvm/llvm-project/tree/master/mlir/include/mlir/Conversion/GPUToSPIRV
|
||||
[MlirGpuToSpirvLibs]: https://github.com/llvm/llvm-project/tree/master/mlir/lib/Conversion/GPUToSPIRV
|
||||
[MlirStdToSpirvHeaders]: https://github.com/llvm/llvm-project/tree/master/mlir/include/mlir/Conversion/StandardToSPIRV
|
||||
[MlirStdToSpirvLibs]: https://github.com/llvm/llvm-project/tree/master/mlir/lib/Conversion/StandardToSPIRV
|
||||
[MlirSpirvDialect]: https://github.com/llvm/llvm-project/blob/master/mlir/include/mlir/Dialect/SPIRV/IR/SPIRVDialect.h
|
||||
[MlirSpirvTypes]: https://github.com/llvm/llvm-project/blob/master/mlir/include/mlir/Dialect/SPIRV/IR/SPIRVTypes.h
|
||||
[MlirSpirvOpsH]: https://github.com/llvm/llvm-project/blob/master/mlir/include/mlir/Dialect/SPIRV/IR/SPIRVOps.h
|
||||
[MlirSpirvSerialization]: https://github.com/llvm/llvm-project/blob/master/mlir/include/mlir/Target/SPIRV/Serialization.h
|
||||
[MlirSpirvBase]: https://github.com/llvm/llvm-project/blob/master/mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
|
||||
[MlirSpirvPasses]: https://github.com/llvm/llvm-project/blob/master/mlir/include/mlir/Dialect/SPIRV/Transforms/Passes.h
|
||||
[MlirSpirvConversion]: https://github.com/llvm/llvm-project/blob/master/mlir/include/mlir/Dialect/SPIRV/Transforms/SPIRVConversion.h
|
||||
[MlirSpirvAbi]: https://github.com/llvm/llvm-project/blob/master/mlir/include/mlir/Dialect/SPIRV/IR/TargetAndABI.h
|
||||
[MlirSpirvOpsCpp]: https://github.com/llvm/llvm-project/blob/master/mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp
|
||||
[MlirSpirvHeaders]: https://github.com/llvm/llvm-project/tree/main/mlir/include/mlir/Dialect/SPIRV
|
||||
[MlirSpirvLibs]: https://github.com/llvm/llvm-project/tree/main/mlir/lib/Dialect/SPIRV
|
||||
[MlirSpirvTests]: https://github.com/llvm/llvm-project/tree/main/mlir/test/Dialect/SPIRV
|
||||
[MlirSpirvUnittests]: https://github.com/llvm/llvm-project/tree/main/mlir/unittests/Dialect/SPIRV
|
||||
[MlirGpuToSpirvHeaders]: https://github.com/llvm/llvm-project/tree/main/mlir/include/mlir/Conversion/GPUToSPIRV
|
||||
[MlirGpuToSpirvLibs]: https://github.com/llvm/llvm-project/tree/main/mlir/lib/Conversion/GPUToSPIRV
|
||||
[MlirStdToSpirvHeaders]: https://github.com/llvm/llvm-project/tree/main/mlir/include/mlir/Conversion/StandardToSPIRV
|
||||
[MlirStdToSpirvLibs]: https://github.com/llvm/llvm-project/tree/main/mlir/lib/Conversion/StandardToSPIRV
|
||||
[MlirSpirvDialect]: https://github.com/llvm/llvm-project/blob/main/mlir/include/mlir/Dialect/SPIRV/IR/SPIRVDialect.h
|
||||
[MlirSpirvTypes]: https://github.com/llvm/llvm-project/blob/main/mlir/include/mlir/Dialect/SPIRV/IR/SPIRVTypes.h
|
||||
[MlirSpirvOpsH]: https://github.com/llvm/llvm-project/blob/main/mlir/include/mlir/Dialect/SPIRV/IR/SPIRVOps.h
|
||||
[MlirSpirvSerialization]: https://github.com/llvm/llvm-project/blob/main/mlir/include/mlir/Target/SPIRV/Serialization.h
|
||||
[MlirSpirvBase]: https://github.com/llvm/llvm-project/blob/main/mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
|
||||
[MlirSpirvPasses]: https://github.com/llvm/llvm-project/blob/main/mlir/include/mlir/Dialect/SPIRV/Transforms/Passes.h
|
||||
[MlirSpirvConversion]: https://github.com/llvm/llvm-project/blob/main/mlir/include/mlir/Dialect/SPIRV/Transforms/SPIRVConversion.h
|
||||
[MlirSpirvAbi]: https://github.com/llvm/llvm-project/blob/main/mlir/include/mlir/Dialect/SPIRV/IR/TargetAndABI.h
|
||||
[MlirSpirvOpsCpp]: https://github.com/llvm/llvm-project/blob/main/mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp
|
||||
[GitHubDialectTracking]: https://github.com/tensorflow/mlir/issues/302
|
||||
[GitHubLoweringTracking]: https://github.com/tensorflow/mlir/issues/303
|
||||
[GenSpirvUtilsPy]: https://github.com/llvm/llvm-project/blob/master/mlir/utils/spirv/gen_spirv_dialect.py
|
||||
[GenSpirvUtilsPy]: https://github.com/llvm/llvm-project/blob/main/mlir/utils/spirv/gen_spirv_dialect.py
|
||||
[CustomTypeAttrTutorial]: ../Tutorials/DefiningAttributesAndTypes.md
|
||||
[VulkanExtensionPhysicalStorageBuffer]: https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/KHR/SPV_KHR_physical_storage_buffer.html
|
||||
[VulkanExtensionVariablePointers]: https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/KHR/SPV_KHR_variable_pointers.html
|
||||
|
|
|
@ -116,10 +116,10 @@ vector.transfer_write %f1, %A[%i0, %i1, %i2, %i3]
|
|||
|
||||
The list of Vector is currently undergoing evolutions and is best kept
|
||||
track of by following the evolution of the
|
||||
[VectorOps.td](https://github.com/llvm/llvm-project/blob/master/mlir/include/mlir/Dialect/Vector/VectorOps.td)
|
||||
[VectorOps.td](https://github.com/llvm/llvm-project/blob/main/mlir/include/mlir/Dialect/Vector/VectorOps.td)
|
||||
ODS file (markdown documentation is automatically generated locally when
|
||||
building and populates the [Vector
|
||||
doc](https://github.com/llvm/llvm-project/blob/master/mlir/docs/Dialects/Vector.md)). Recent
|
||||
doc](https://github.com/llvm/llvm-project/blob/main/mlir/docs/Dialects/Vector.md)). Recent
|
||||
extensions are driven by concrete use cases of interest. A notable such use
|
||||
case is the `vector.contract` op which applies principles of the StructuredOps
|
||||
abstraction to `vector` types.
|
||||
|
@ -149,7 +149,7 @@ or the [VectorOuterProductOp
|
|||
lowering](https://github.com/tensorflow/mlir/commit/957b1ca9680b4aacabb3a480fbc4ebd2506334b8)).
|
||||
|
||||
Simple [conversion
|
||||
tests](https://github.com/llvm/llvm-project/blob/master/mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir)
|
||||
tests](https://github.com/llvm/llvm-project/blob/main/mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir)
|
||||
are available for the `LLVM` target starting from the Virtual Vector Level.
|
||||
|
||||
## Rationale
|
||||
|
@ -225,7 +225,7 @@ granularity.
|
|||
Irrespective of the existence of an auto-vectorizer, one can build a notional
|
||||
vector language based on the VectorOps dialect and build end-to-end models
|
||||
with expressing `vector`s in the IR directly and simple
|
||||
pattern-rewrites. [EDSC](https://github.com/llvm/llvm-project/blob/master/mlir/docs/EDSC.md)s
|
||||
pattern-rewrites. [EDSC](https://github.com/llvm/llvm-project/blob/main/mlir/docs/EDSC.md)s
|
||||
provide a simple way of driving such a notional language directly in C++.
|
||||
|
||||
## Bikeshed Naming Discussion
|
||||
|
|
|
@ -1796,9 +1796,9 @@ requirements that were desirable:
|
|||
[TableGen]: https://llvm.org/docs/TableGen/index.html
|
||||
[TableGenProgRef]: https://llvm.org/docs/TableGen/ProgRef.html
|
||||
[TableGenBackend]: https://llvm.org/docs/TableGen/BackEnds.html#introduction
|
||||
[OpBase]: https://github.com/llvm/llvm-project/blob/master/mlir/include/mlir/IR/OpBase.td
|
||||
[OpDefinitionsGen]: https://github.com/llvm/llvm-project/blob/master/mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
|
||||
[EnumsGen]: https://github.com/llvm/llvm-project/blob/master/mlir/tools/mlir-tblgen/EnumsGen.cpp
|
||||
[OpBase]: https://github.com/llvm/llvm-project/blob/main/mlir/include/mlir/IR/OpBase.td
|
||||
[OpDefinitionsGen]: https://github.com/llvm/llvm-project/blob/main/mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
|
||||
[EnumsGen]: https://github.com/llvm/llvm-project/blob/main/mlir/tools/mlir-tblgen/EnumsGen.cpp
|
||||
[StringAttr]: LangRef.md#string-attribute
|
||||
[IntegerAttr]: LangRef.md#integer-attribute
|
||||
[AttrClasses]: https://github.com/llvm/llvm-project/blob/master/mlir/include/mlir/IR/Attributes.h
|
||||
[AttrClasses]: https://github.com/llvm/llvm-project/blob/main/mlir/include/mlir/IR/Attributes.h
|
||||
|
|
|
@ -114,7 +114,7 @@ including creations, are required to be performed via the `PatternRewriter`
|
|||
class. This is required because the underlying pattern driver may have state
|
||||
that would be invalidated when a mutation takes place. Examples of some of the
|
||||
more prevalent `PatternRewriter` API is shown below, please refer to the
|
||||
[class documentation](https://github.com/llvm/llvm-project/blob/master/mlir/include/mlir/IR/PatternMatch.h#L235)
|
||||
[class documentation](https://github.com/llvm/llvm-project/blob/main/mlir/include/mlir/IR/PatternMatch.h#L235)
|
||||
for a more up-to-date listing of the available API:
|
||||
|
||||
* Erase an Operation : `eraseOp`
|
||||
|
|
|
@ -97,7 +97,7 @@ Compilers end up with a lot of peephole optimizers for various things, e.g. the
|
|||
GCC
|
||||
["combine" routines](https://github.com/gcc-mirror/gcc/blob/master/gcc/combine.c)
|
||||
(which try to merge two machine instructions into a single one), the LLVM
|
||||
[Inst Combine](https://github.com/llvm/llvm-project/tree/master/llvm/lib/Transforms/InstCombine)
|
||||
[Inst Combine](https://github.com/llvm/llvm-project/tree/main/llvm/lib/Transforms/InstCombine)
|
||||
[pass](https://llvm.org/docs/Passes.html#instcombine-combine-redundant-instructions),
|
||||
LLVM's
|
||||
[DAG Combiner](https://github.com/llvm-mirror/llvm/blob/master/lib/CodeGen/SelectionDAG/DAGCombiner.cpp),
|
||||
|
@ -105,7 +105,7 @@ the Swift compiler's
|
|||
[SIL Combiner](https://github.com/apple/swift/tree/master/lib/SILOptimizer/SILCombiner),
|
||||
etc. These generally match one or more operations and produce zero or more
|
||||
operations as a result. The LLVM
|
||||
[Legalization](https://github.com/llvm/llvm-project/tree/master/llvm/lib/CodeGen/SelectionDAG)
|
||||
[Legalization](https://github.com/llvm/llvm-project/tree/main/llvm/lib/CodeGen/SelectionDAG)
|
||||
infrastructure has a different outer loop but otherwise works the same way.
|
||||
|
||||
These passes have a lot of diversity, but also have a unifying structure: they
|
||||
|
@ -184,7 +184,7 @@ def : Pat<(or GR64:$src, (not (add GR64:$src, 1))),
|
|||
This example defines a matcher for the
|
||||
["blci" instruction](https://en.wikipedia.org/wiki/Bit_Manipulation_Instruction_Sets#TBM_\(Trailing_Bit_Manipulation\))
|
||||
in the
|
||||
[X86 target description](https://github.com/llvm/llvm-project/blob/master/llvm/lib/Target/X86/X86InstrInfo.td),
|
||||
[X86 target description](https://github.com/llvm/llvm-project/blob/main/llvm/lib/Target/X86/X86InstrInfo.td),
|
||||
there are many others in that file (look for `Pat<>` patterns, since they aren't
|
||||
entangled in details of the compiler like assembler/disassembler generation
|
||||
logic).
|
||||
|
|
|
@ -951,4 +951,4 @@ llvm.func @main() {
|
|||
|
||||
[LLVMFunctionAttributes]: https://llvm.org/docs/LangRef.html#function-attributes
|
||||
[SPIRVFunctionAttributes]: https://www.khronos.org/registry/spir-v/specs/unified1/SPIRV.html#_a_id_function_control_a_function_control
|
||||
[VulkanLayoutUtils]: https://github.com/llvm/llvm-project/blob/master/mlir/include/mlir/Dialect/SPIRV/LayoutUtils.h
|
||||
[VulkanLayoutUtils]: https://github.com/llvm/llvm-project/blob/main/mlir/include/mlir/Dialect/SPIRV/LayoutUtils.h
|
||||
|
|
|
@ -291,5 +291,5 @@ function, the reference implementation of the operation will be used to derive
|
|||
the shape function. The reference implementation is general and can support the
|
||||
arbitrary computations needed to specify output shapes.
|
||||
|
||||
[InferTypeOpInterface]: https://github.com/llvm/llvm-project/tree/master/mlir/include/mlir/Interfaces/InferTypeOpInterface.td
|
||||
[ShapedType]: https://github.com/llvm/llvm-project/tree/master/mlir/include/mlir/IR/BuiltinTypes.h
|
||||
[InferTypeOpInterface]: https://github.com/llvm/llvm-project/tree/main/mlir/include/mlir/Interfaces/InferTypeOpInterface.td
|
||||
[ShapedType]: https://github.com/llvm/llvm-project/tree/main/mlir/include/mlir/IR/BuiltinTypes.h
|
||||
|
|
|
@ -86,7 +86,7 @@ Finally, a `Block` has a list of arguments, and holds a list of `Operation`s:
|
|||
```
|
||||
|
||||
The code for the pass is available
|
||||
[here in the repo](https://github.com/llvm/llvm-project/blob/master/mlir/test/lib/IR/TestPrintNesting.cpp)
|
||||
[here in the repo](https://github.com/llvm/llvm-project/blob/main/mlir/test/lib/IR/TestPrintNesting.cpp)
|
||||
and can be exercised with `mlir-opt -test-print-nesting`.
|
||||
|
||||
### Example
|
||||
|
@ -273,7 +273,7 @@ results and print informations about them:
|
|||
```
|
||||
|
||||
The illustrating code for this pass is available
|
||||
[here in the repo](https://github.com/llvm/llvm-project/blob/master/mlir/test/lib/IR/TestPrintDefUse.cpp)
|
||||
[here in the repo](https://github.com/llvm/llvm-project/blob/main/mlir/test/lib/IR/TestPrintDefUse.cpp)
|
||||
and can be exercised with `mlir-opt -test-print-defuse`.
|
||||
|
||||
The chaining of `Value`s and their uses can be viewed as following:
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
<a href="https://lists.llvm.org/mailman/listinfo/openmp-dev">openmp-dev</a>
|
||||
<a href="https://lists.llvm.org/mailman/listinfo/openmp-commits">openmp-commits</a>
|
||||
<a href="https://bugs.llvm.org/">Bug Reports</a>
|
||||
<a href="https://github.com/llvm/llvm-project/tree/master/openmp">Browse Sources</a>
|
||||
<a href="https://github.com/llvm/llvm-project/tree/main/openmp">Browse Sources</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -34,7 +34,7 @@ Optimizations</span></h2>
|
|||
<a href="http://lab.llvm.org:8080/coverage/coverage-reports/polly/index.html">Code Coverage</a>
|
||||
<a href="http://llvm.org/reports/scan-build/">Static analysis</a>
|
||||
<a href="/doxygen/">Doxygen</a>
|
||||
<a href="https://github.com/llvm/llvm-project/tree/master/polly">Source @ GitHub</a>
|
||||
<a href="https://github.com/llvm/llvm-project/tree/main/polly">Source @ GitHub</a>
|
||||
</div>
|
||||
|
||||
<div class="submenu">
|
||||
|
|
Loading…
Reference in New Issue