Index: clang-tools-extra/docs/clang-rename.rst =================================================================== --- clang-tools-extra/docs/clang-rename.rst +++ clang-tools-extra/docs/clang-rename.rst @@ -139,8 +139,8 @@ You can call :program:`clang-rename` directly from Vim! To set up :program:`clang-rename` integration for Vim see -`clang-rename/tool/clang-rename.py -`_. +`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**. @@ -157,7 +157,7 @@ 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 -`_. +`_. Once installed, you can point your cursor to symbols you want to rename, press `M-X`, type `clang-rename` and new desired name. Index: clang-tools-extra/docs/clang-tidy/Contributing.rst =================================================================== --- clang-tools-extra/docs/clang-tidy/Contributing.rst +++ clang-tools-extra/docs/clang-tidy/Contributing.rst @@ -127,7 +127,7 @@ Next, you need to decide which module the check belongs to. Modules are located in subdirectories of `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 @@ -210,7 +210,7 @@ (If you want to see an example of a useful check, look at `clang-tidy/google/ExplicitConstructorCheck.h -`_ +`_ and `clang-tidy/google/ExplicitConstructorCheck.cpp `_). Index: clang-tools-extra/docs/clang-tidy/Integrations.rst =================================================================== --- clang-tools-extra/docs/clang-tidy/Integrations.rst +++ clang-tools-extra/docs/clang-tidy/Integrations.rst @@ -75,7 +75,7 @@ .. _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-mirror/clang-tools-extra/tree/master/clang-tidy-vs +.. _clang-tidy-vs: https://github.com/llvm/llvm-project/tree/master/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++`_ Index: clang/.gitignore =================================================================== --- clang/.gitignore +++ clang/.gitignore @@ -1,9 +1,6 @@ #==============================================================================# # This file specifies intentionally untracked files that git should ignore. # See: http://www.kernel.org/pub/software/scm/git/docs/gitignore.html -# -# This file is intentionally different from the output of `git svn show-ignore`, -# as most of those are useless. #==============================================================================# #==============================================================================# Index: clang/docs/ClangPlugins.rst =================================================================== --- clang/docs/ClangPlugins.rst +++ clang/docs/ClangPlugins.rst @@ -69,7 +69,7 @@ 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 -`_. +`_. Running the plugin ================== @@ -110,7 +110,7 @@ -plugin -Xclang print-fns Also see the print-function-name plugin example's -`README `_ +`README `_ Using the clang command line Index: clang/docs/ClangTools.rst =================================================================== --- clang/docs/ClangTools.rst +++ clang/docs/ClangTools.rst @@ -9,22 +9,9 @@ refactoring, etc. Only a couple of the most basic and fundamental tools are kept in the -primary Clang Subversion project. The rest of the tools are kept in a -side-project so that developers who don't want or need to build them -don't. If you want to get access to the extra Clang Tools repository, -simply check it out into the tools tree of your Clang checkout and -follow the usual process for building and working with a combined -LLVM/Clang checkout: - -- With Subversion: - - - ``cd llvm/tools/clang/tools`` - - ``svn co https://llvm.org/svn/llvm-project/clang-tools-extra/trunk extra`` - -- Or with Git: - - - ``cd llvm/tools/clang/tools`` - - ``git clone https://llvm.org/git/clang-tools-extra.git extra`` +primary Clang tree. The rest of the tools are kept in a separate +directory tree, ``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 Index: clang/docs/ControlFlowIntegrityDesign.rst =================================================================== --- clang/docs/ControlFlowIntegrityDesign.rst +++ clang/docs/ControlFlowIntegrityDesign.rst @@ -196,7 +196,7 @@ Vectors" above). The `GlobalLayoutBuilder`_ class is responsible for laying out the globals efficiently to minimize the sizes of the underlying bitsets. -.. _GlobalLayoutBuilder: https://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Transforms/IPO/LowerTypeTests.h?view=markup +.. _GlobalLayoutBuilder: https://github.com/llvm/llvm-project/blob/master/llvm/include/llvm/Transforms/IPO/LowerTypeTests.h Alignment ~~~~~~~~~ @@ -300,7 +300,7 @@ 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://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/IPO/GlobalSplit.cpp?view=markup +.. _GlobalSplit: https://github.com/llvm/llvm-project/blob/master/llvm/lib/Transforms/IPO/GlobalSplit.cpp Order virtual tables by a pre-order traversal of the class hierarchy ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Index: clang/docs/InternalsManual.rst =================================================================== --- clang/docs/InternalsManual.rst +++ clang/docs/InternalsManual.rst @@ -1686,7 +1686,7 @@ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The first step to adding a new attribute to Clang is to add its definition to `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 @@ -1748,10 +1748,10 @@ 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 -`_ +`_ 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 -`_ +`_ may need to be updated. By default, all subjects in the SubjectList must either be a Decl node defined @@ -1773,7 +1773,7 @@ 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 -`_ +`_ that is named after the attribute being documented. If the attribute is not for public consumption, or is an implicitly-created @@ -1824,7 +1824,7 @@ 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 -`_ +`_ to properly support the type. Other Properties @@ -1836,7 +1836,7 @@ 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() -`_ +`_ 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``. @@ -1899,7 +1899,7 @@ Boilerplate ^^^^^^^^^^^ All semantic processing of declaration attributes happens in `lib/Sema/SemaDeclAttr.cpp -`_, +`_, and generally starts in the ``ProcessDeclAttribute()`` function. If the attribute is a "simple" attribute -- meaning that it requires no custom semantic processing aside from what is automatically provided, add a call to @@ -1915,11 +1915,11 @@ If the attribute adds additional warnings, define a ``DiagGroup`` in `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>`` directly in `DiagnosticSemaKinds.td -`_ +`_ All semantic diagnostics generated for your attribute, including automatically- generated ones (such as subjects and argument counts), should have a Index: clang/docs/LibASTMatchersTutorial.rst =================================================================== --- clang/docs/LibASTMatchersTutorial.rst +++ clang/docs/LibASTMatchersTutorial.rst @@ -16,23 +16,16 @@ ======================= As Clang is part of the LLVM project, you'll need to download LLVM's -source code first. Both Clang and LLVM are maintained as Subversion -repositories, but we'll be accessing them through the git mirror. For -further information, see the `getting started -guide `_. +source code first. Both Clang and LLVM are in the same git repository, +under different directories. For further information, see the `getting +started guide `_. .. code-block:: console - mkdir ~/clang-llvm && cd ~/clang-llvm - git clone https://llvm.org/git/llvm.git - cd llvm/tools - git clone https://llvm.org/git/clang.git - cd clang/tools - git clone https://llvm.org/git/clang-tools-extra.git extra + cd ~/clang-llvm + git clone https://github.com/llvm/llvm-project.git -Next you need to obtain the CMake build system and Ninja build tool. You -may already have CMake installed, but current binary versions of CMake -aren't built with Ninja support. +Next you need to obtain the CMake build system and Ninja build tool. .. code-block:: console @@ -57,7 +50,7 @@ cd ~/clang-llvm mkdir build && cd build - cmake -G Ninja ../llvm -DLLVM_BUILD_TESTS=ON # Enable tests; default is off. + cmake -G Ninja ../llvm -DLLVM_ENABLE_PROJECTS=clang -DLLVM_BUILD_TESTS=ON # Enable tests; default is off. ninja ninja check # Test LLVM only. ninja clang-test # Test Clang only. @@ -65,9 +58,7 @@ And we're live. -All of the tests should pass, though there is a (very) small chance that -you can catch LLVM and Clang out of sync. Running ``'git svn rebase'`` -in both the llvm and clang directories should fix any problems. +All of the tests should pass. Finally, we want to set Clang as its own compiler. Index: clang/docs/LibTooling.rst =================================================================== --- clang/docs/LibTooling.rst +++ clang/docs/LibTooling.rst @@ -196,6 +196,6 @@ Linking ^^^^^^^ -For a list of libraries to link, look at one of the tools' Makefiles (for -example `clang-check/Makefile -`_). +For a list of libraries to link, look at one of the tools' CMake files (for +example `clang-check/CMakeList.txt +`_). Index: clang/docs/Toolchain.rst =================================================================== --- clang/docs/Toolchain.rst +++ clang/docs/Toolchain.rst @@ -229,14 +229,8 @@ libunwind (LLVM) ^^^^^^^^^^^^^^^^ -LLVM's unwinder library can be obtained from subversion: - -.. code-block:: console - - llvm-src$ svn co https://llvm.org/svn/llvm-project/libunwind/trunk projects/libunwind - -When checked out into projects/libunwind within an LLVM checkout, -it should be automatically picked up by the LLVM build system. +LLVM's unwinder library is part of the llvm-project git repository. To +build it, pass ``-DLLVM_ENABLE_PROJECTS=libunwind`` to the cmake invocation. If using libc++abi, you may need to configure it to use libunwind rather than libgcc_s by passing ``-DLIBCXXABI_USE_LLVM_UNWINDER=YES`` Index: clang/lib/CodeGen/CGOpenMPRuntime.cpp =================================================================== --- clang/lib/CodeGen/CGOpenMPRuntime.cpp +++ clang/lib/CodeGen/CGOpenMPRuntime.cpp @@ -431,7 +431,7 @@ /// 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 http://llvm.org/svn/llvm-project/openmp/trunk/runtime/src/kmp.h +/// from https://github.com/llvm/llvm-project/blob/master/openmp/runtime/src/kmp.h enum OpenMPLocationFlags : unsigned { /// Use trampoline for internal microtask. OMP_IDENT_IMD = 0x01, @@ -460,7 +460,7 @@ /// Describes ident structure that describes a source location. /// All descriptions are taken from -/// http://llvm.org/svn/llvm-project/openmp/trunk/runtime/src/kmp.h +/// https://github.com/llvm/llvm-project/blob/master/openmp/runtime/src/kmp.h /// Original structure: /// typedef struct ident { /// kmp_int32 reserved_1; /**< might be used in Fortran; @@ -1477,7 +1477,7 @@ // Initialize default location for psource field of ident_t structure of // all ident_t objects. Format is ";file;function;line;column;;". // Taken from - // http://llvm.org/svn/llvm-project/openmp/trunk/runtime/src/kmp_str.c + // https://github.com/llvm/llvm-project/blob/master/openmp/runtime/src/kmp_str.cpp DefaultOpenMPPSource = CGM.GetAddrOfConstantCString(";unknown;unknown;0;0;;").getPointer(); DefaultOpenMPPSource = @@ -4965,7 +4965,7 @@ // 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 - // http://llvm.org/svn/llvm-project/openmp/trunk/runtime/src/kmp.h, + // https://github.com/llvm/llvm-project/blob/master/openmp/runtime/src/kmp.h, // description of kmp_tasking_flags struct. enum { TiedFlag = 0x1, @@ -9888,4 +9888,3 @@ const VarDecl *TargetParam) const { llvm_unreachable("Not supported in SIMD-only mode"); } - Index: clang/www/analyzer/checker_dev_manual.html =================================================================== --- clang/www/analyzer/checker_dev_manual.html +++ clang/www/analyzer/checker_dev_manual.html @@ -684,11 +684,11 @@
  • Xu, Zhongxing & Kremenek, Ted & Zhang, Jian. (2010). A Memory Model for Static Analysis of C Programs.
  • -
  • +
  • The Clang Static Analyzer README
  • -
  • +
  • Documentation for how the Store works
  • -
  • +
  • Documentation about inlining
  • The "Building a Checker in 24 hours" presentation given at the November 2012 LLVM Developer's Index: clang/www/get_started.html =================================================================== --- clang/www/get_started.html +++ clang/www/get_started.html @@ -30,8 +30,6 @@

    On Unix-like Systems

    -

    Note: as an experimental setup, you can use a single checkout with all the projects, and an easy CMake invocation, see the LLVM Doc "For developers to work with a git monorepo"

    -

    If you would like to check out and build Clang, the current procedure is as follows:

    @@ -49,48 +47,18 @@ http://www.cmake.org/download
  • -
  • Check out LLVM: +
  • Check out the LLVM project:
    • Change directory to where you want the llvm directory placed.
    • -
    • svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm
    • -
    -
  • -
  • Check out Clang: -
      -
    • cd llvm/tools
    • -
    • svn co http://llvm.org/svn/llvm-project/cfe/trunk clang
    • -
    • cd ../..
    • -
    -
  • -
  • Check out extra Clang tools: (optional) -
      -
    • cd llvm/tools/clang/tools
    • -
    • svn co http://llvm.org/svn/llvm-project/clang-tools-extra/trunk - extra
    • -
    • cd ../../../..
    • -
    -
  • -
  • Check out Compiler-RT (optional): -
      -
    • cd llvm/projects
    • -
    • svn co http://llvm.org/svn/llvm-project/compiler-rt/trunk - compiler-rt
    • -
    • cd ../..
    • -
    -
  • -
  • Check out libcxx: (only required to build and run Compiler-RT tests on OS X, optional otherwise) -
      -
    • cd llvm/projects
    • -
    • svn co http://llvm.org/svn/llvm-project/libcxx/trunk - libcxx
    • -
    • cd ../..
    • +
    • git clone https://github.com/llvm/llvm-project.git
  • Build LLVM and Clang: @@ -98,10 +98,10 @@

    The files - - utils/LLVMVisualizers/llvm.natvis and - - utils/ClangVisualizers/clang.natvis provide debugger visualizers + + llvm/utils/LLVMVisualizers/llvm.natvis and + + clang/utils/ClangVisualizers/clang.natvis provide debugger visualizers that make debugging of more complex data types much easier.

    For Visual Studio 2013 only, put the files into %USERPROFILE%\Documents\Visual Studio 2013\Visualizers or Index: clang/www/menu.html.incl =================================================================== --- clang/www/menu.html.incl +++ clang/www/menu.html.incl @@ -43,9 +43,8 @@

    Index: compiler-rt/include/sanitizer/tsan_interface_atomic.h =================================================================== --- compiler-rt/include/sanitizer/tsan_interface_atomic.h +++ compiler-rt/include/sanitizer/tsan_interface_atomic.h @@ -30,7 +30,7 @@ #endif // Part of ABI, do not change. -// http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/atomic?view=markup +// https://github.com/llvm/llvm-project/blob/master/libcxx/include/atomic typedef enum { __tsan_memory_order_relaxed, __tsan_memory_order_consume, Index: compiler-rt/lib/tsan/rtl/tsan_interface.h =================================================================== --- compiler-rt/lib/tsan/rtl/tsan_interface.h +++ compiler-rt/lib/tsan/rtl/tsan_interface.h @@ -199,7 +199,7 @@ #endif // Part of ABI, do not change. -// http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/atomic?view=markup +// https://github.com/llvm/llvm-project/blob/master/libcxx/include/atomic typedef enum { mo_relaxed, mo_consume, Index: compiler-rt/www/index.html =================================================================== --- compiler-rt/www/index.html +++ compiler-rt/www/index.html @@ -109,16 +109,20 @@

    Get it and get involved!

    -

    Generally, you need to build LLVM/Clang in order to build compiler-rt. You can - either follow the Clang's - Getting Started page, or +

    Generally, you need to build LLVM/Clang in order to build compiler-rt. You + can build it either together with llvm and clang, or separately. + +

    To build it together, simply add compiler-rt to the -DLLVM_ENABLE_PROJECTS= option to + cmake. + +

    To build it separately, first build LLVM separately to get llvm-config binary, and then run:

      -
    • svn co http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
    • -
    • mkdir build
    • -
    • cd build
    • +
    • cd llvm-project
    • +
    • mkdir build-compiler-rt
    • +
    • cd build-compiler-rt
    • cmake ../compiler-rt -DLLVM_CONFIG_PATH=/path/to/llvm-config
    • make
    Index: compiler-rt/www/menu.html.incl =================================================================== --- compiler-rt/www/menu.html.incl +++ compiler-rt/www/menu.html.incl @@ -13,7 +13,6 @@ llvm-dev llvm-commits Bug Reports - Browse SVN - Browse ViewVC + Browse Sources Index: libclc/www/index.html =================================================================== --- libclc/www/index.html +++ libclc/www/index.html @@ -43,9 +43,7 @@

    Download

    -svn checkout http://llvm.org/svn/llvm-project/libclc/trunk libclc (ViewVC) -
    - or -
    -git clone http://llvm.org/git/libclc.git +git clone https://github.com/llvm/llvm-project.git (View sources)

    Mailing List

    Index: libcxx/docs/BuildingLibcxx.rst =================================================================== --- libcxx/docs/BuildingLibcxx.rst +++ libcxx/docs/BuildingLibcxx.rst @@ -18,33 +18,10 @@ The basic steps needed to build libc++ are: -#. Checkout LLVM: - - * ``cd where-you-want-llvm-to-live`` - * ``svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm`` - -#. Checkout libc++: - - * ``cd where-you-want-llvm-to-live`` - * ``cd llvm/projects`` - * ``svn co http://llvm.org/svn/llvm-project/libcxx/trunk libcxx`` - -#. Checkout libc++abi: - - * ``cd where-you-want-llvm-to-live`` - * ``cd llvm/projects`` - * ``svn co http://llvm.org/svn/llvm-project/libcxxabi/trunk libcxxabi`` - -#. Configure and build libc++ with libc++abi: - - CMake is the only supported configuration system. - - Clang is the preferred compiler when building and using libc++. - - * ``cd where you want to build llvm`` - * ``mkdir build`` - * ``cd build`` - * ``cmake -G [options] `` +#. Checkout and configure LLVM (including libc++ and libc++abi), + according to the :doc:`GettingStarted` documentation. Make sure to + include ``libcxx`` and ``libcxxabi`` in the ``LLVM_ENABLE_PROJECTS`` + option passed to CMake. For more information about configuring libc++ see :ref:`CMake Options`. @@ -71,23 +48,21 @@ FreeBSD, Linux, or Mac using `libc++abi`_ as the C++ ABI library. On Linux, it is also possible to use :ref:`libsupc++ ` or libcxxrt. -It is sometimes beneficial to build outside of the LLVM tree. An out-of-tree -build would look like this: +It is sometimes beneficial to build separately from the full LLVM build. An +out-of-tree build would look like this: .. code-block:: bash $ cd where-you-want-libcxx-to-live - $ # Check out llvm, libc++ and libc++abi. - $ ``svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm`` - $ ``svn co http://llvm.org/svn/llvm-project/libcxx/trunk libcxx`` - $ ``svn co http://llvm.org/svn/llvm-project/libcxxabi/trunk libcxxabi`` + $ # Check out the sources (includes everything, but we'll only use libcxx) + $ ``git clone https://github.com/llvm/llvm-project.git`` $ cd where-you-want-to-build $ mkdir build && cd build $ export CC=clang CXX=clang++ - $ cmake -DLLVM_PATH=path/to/llvm \ + $ cmake -DLLVM_PATH=path/to/separate/llvm \ -DLIBCXX_CXX_ABI=libcxxabi \ - -DLIBCXX_CXX_ABI_INCLUDE_PATHS=path/to/libcxxabi/include \ - path/to/libcxx + -DLIBCXX_CXX_ABI_INCLUDE_PATHS=path/to/separate/libcxxabi/include \ + path/to/llvm-project/libcxx $ make $ make check-libcxx # optional Index: libcxx/docs/index.rst =================================================================== --- libcxx/docs/index.rst +++ libcxx/docs/index.rst @@ -190,5 +190,4 @@ * `LLVM Bugzilla `_ * `libcxx-commits Mailing List`_ * `libcxx-dev Mailing List`_ -* `Browse libc++ -- SVN `_ -* `Browse libc++ -- ViewVC `_ +* `Browse libc++ Sources `_ Index: libcxx/www/TS_deprecation.html =================================================================== --- libcxx/www/TS_deprecation.html +++ libcxx/www/TS_deprecation.html @@ -25,8 +25,7 @@ cfe-dev cfe-commits Bug Reports - Browse SVN - Browse ViewVC + Browse Sources Index: libcxx/www/atomic_design.html =================================================================== --- libcxx/www/atomic_design.html +++ libcxx/www/atomic_design.html @@ -25,8 +25,7 @@ cfe-dev cfe-commits Bug Reports - Browse SVN - Browse ViewVC + Browse Sources Index: libcxx/www/atomic_design_a.html =================================================================== --- libcxx/www/atomic_design_a.html +++ libcxx/www/atomic_design_a.html @@ -25,8 +25,7 @@ cfe-dev cfe-commits Bug Reports - Browse SVN - Browse ViewVC + Browse Sources Index: libcxx/www/atomic_design_b.html =================================================================== --- libcxx/www/atomic_design_b.html +++ libcxx/www/atomic_design_b.html @@ -25,8 +25,7 @@ cfe-dev cfe-commits Bug Reports - Browse SVN - Browse ViewVC + Browse Sources Index: libcxx/www/atomic_design_c.html =================================================================== --- libcxx/www/atomic_design_c.html +++ libcxx/www/atomic_design_c.html @@ -25,8 +25,7 @@ cfe-dev cfe-commits Bug Reports - Browse SVN - Browse ViewVC + Browse Sources Index: libcxx/www/cxx1y_status.html =================================================================== --- libcxx/www/cxx1y_status.html +++ libcxx/www/cxx1y_status.html @@ -25,8 +25,7 @@ cfe-dev cfe-commits Bug Reports - Browse SVN - Browse ViewVC + Browse Sources Index: libcxx/www/cxx1z_status.html =================================================================== --- libcxx/www/cxx1z_status.html +++ libcxx/www/cxx1z_status.html @@ -25,8 +25,7 @@ cfe-dev cfe-commits Bug Reports - Browse SVN - Browse ViewVC + Browse Sources Index: libcxx/www/cxx2a_status.html =================================================================== --- libcxx/www/cxx2a_status.html +++ libcxx/www/cxx2a_status.html @@ -25,8 +25,7 @@ cfe-dev cfe-commits Bug Reports - Browse SVN - Browse ViewVC + Browse Sources Index: libcxx/www/index.html =================================================================== --- libcxx/www/index.html +++ libcxx/www/index.html @@ -26,8 +26,7 @@ libcxx-dev libcxx-commits Bug Reports - Browse SVN - Browse ViewVC + Browse Sources Index: libcxx/www/ts1z_status.html =================================================================== --- libcxx/www/ts1z_status.html +++ libcxx/www/ts1z_status.html @@ -25,8 +25,7 @@ cfe-dev cfe-commits Bug Reports - Browse SVN - Browse ViewVC + Browse Sources Index: libcxx/www/type_traits_design.html =================================================================== --- libcxx/www/type_traits_design.html +++ libcxx/www/type_traits_design.html @@ -25,8 +25,7 @@ cfe-dev cfe-commits Bug Reports - Browse SVN - Browse ViewVC + Browse Sources Index: libcxx/www/upcoming_meeting.html =================================================================== --- libcxx/www/upcoming_meeting.html +++ libcxx/www/upcoming_meeting.html @@ -25,8 +25,7 @@ cfe-dev cfe-commits Bug Reports - Browse SVN - Browse ViewVC + Browse Sources Index: libcxxabi/www/index.html =================================================================== --- libcxxabi/www/index.html +++ libcxxabi/www/index.html @@ -26,8 +26,7 @@ libcxx-dev libcxx-commits Bug Reports - Browse SVN - Browse ViewVC + Browse Sources @@ -74,29 +73,28 @@

    Get it and get involved!

    -

    To check out the code, use:

    +

    To check out the code (including llvm and others), use:

      -
    • svn co http://llvm.org/svn/llvm-project/libcxxabi/trunk libcxxabi
    • +
    • git clone https://github.com/llvm/llvm-project.git

    To build:

      -
    • Check out libcxxabi into llvm/projects
    • -
    • cd llvm
    • +
    • cd llvm-project
    • mkdir build && cd build
    • -
    • cmake .. # on linux you may need to prefix with CC=clang CXX=clang++
    • +
    • cmake -DLLVM_ENABLE_PROJECTS=libcxxabi ../llvm # on linux you may need to prefix with CC=clang CXX=clang++
    • make

    To do a standalone build:

    • - Check out the libcxx source tree. + Check out the source tree. This includes the other subprojects, but you'll only use the libcxxabi part.
    • -
    • cd libcxxabi
    • -
    • mkdir build && cd build
    • -
    • cmake -DLIBCXXABI_LIBCXX_PATH=path/to/libcxx .. # on +
    • cd llvm-project
    • +
    • mkdir build-libcxxabi && cd build-libcxxabi
    • +
    • cmake -DLIBCXXABI_LIBCXX_PATH=path/to/libcxx ../libcxxabi # on linux you may need -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
    • make
    Index: libunwind/docs/BuildingLibunwind.rst =================================================================== --- libunwind/docs/BuildingLibunwind.rst +++ libunwind/docs/BuildingLibunwind.rst @@ -18,16 +18,10 @@ The basic steps needed to build libc++ are: -#. Checkout LLVM: +#. Checkout LLVM, libunwind, and related projects: * ``cd where-you-want-llvm-to-live`` - * ``svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm`` - -#. Checkout libunwind: - - * ``cd where-you-want-llvm-to-live`` - * ``cd llvm/runtimes`` - * ``svn co http://llvm.org/svn/llvm-project/libunwind/trunk libunwind`` + * ``git clone https://github.com/llvm/llvm-project.git`` #. Configure and build libunwind: @@ -38,7 +32,7 @@ * ``cd where you want to build llvm`` * ``mkdir build`` * ``cd build`` - * ``cmake -G [options] `` + * ``cmake -G -DLLVM_ENABLE_PROJECTS=libunwind [options] `` For more information about configuring libunwind see :ref:`CMake Options`. Index: libunwind/docs/index.rst =================================================================== --- libunwind/docs/index.rst +++ libunwind/docs/index.rst @@ -101,5 +101,4 @@ * `LLVM Bugzilla `_ * `cfe-commits Mailing List`_ * `cfe-dev Mailing List`_ -* `Browse libunwind -- SVN `_ -* `Browse libunwind -- ViewVC `_ +* `Browse libunwind Sources `_ Index: lld/docs/getting_started.rst =================================================================== --- lld/docs/getting_started.rst +++ lld/docs/getting_started.rst @@ -28,23 +28,15 @@ .. _libc++: http://libcxx.llvm.org/ .. _Python 2.4: http://python.org/download/ -2. Check out LLVM:: +2. Check out LLVM and subprojects (including lld):: - $ cd path/to/llvm-project - $ svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm - -3. Check out lld:: - - $ cd llvm/tools - $ svn co http://llvm.org/svn/llvm-project/lld/trunk lld - - * lld can also be checked out to ``path/to/llvm-project`` and built as an external - project. + $ git clone https://github.com/llvm/llvm-project.git 4. Build LLVM and lld:: - $ cd path/to/llvm-build/llvm (out of source build required) - $ cmake -G "Unix Makefiles" path/to/llvm-project/llvm + $ cd llvm-project + $ mkdir build && cd build + $ cmake -G "Unix Makefiles" -DLLVM_ENABLE_PROJECTS=lld ../llvm $ make * If you want to build with clang and it is not the default compiler or @@ -71,23 +63,12 @@ .. _Visual Studio 12 (2013) or later: http://www.microsoft.com/visualstudio/11/en-us .. _Python 2.4: http://python.org/download/ -#. Check out LLVM:: - - $ cd path/to/llvm-project - $ svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm - -#. Check out lld:: - - $ cd llvm/tools - $ svn co http://llvm.org/svn/llvm-project/lld/trunk lld - - * lld can also be checked out to ``path/to/llvm-project`` and built as an external - project. +#. Check out LLVM as above:: #. Generate Visual Studio project files:: - $ cd path/to/llvm-build/llvm (out of source build required) - $ cmake -G "Visual Studio 11" path/to/llvm-project/llvm + $ cd llvm-project/build (out of source build required) + $ cmake -G "Visual Studio 11" ../llvm #. Build Index: lld/docs/index.rst =================================================================== --- lld/docs/index.rst +++ lld/docs/index.rst @@ -106,7 +106,7 @@ .. code-block:: console - $ git clone https://github.com/llvm-project/llvm-project-20170507 llvm-project + $ git clone https://github.com/llvm/llvm-project llvm-project $ mkdir build $ cd build $ cmake -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_PROJECTS=lld -DCMAKE_INSTALL_PREFIX=/usr/local ../llvm-project/llvm Index: lldb/docs/building-with-debug-llvm.txt =================================================================== --- lldb/docs/building-with-debug-llvm.txt +++ /dev/null @@ -1,51 +0,0 @@ -This document describes how to build a debug version of LLVM for use with -LLDB, and how to make LLDB use it. - -It assumes that you are using the Xcode 3 series (I used 3.2.4) to build -LLDB. It also assumes that your shell is /bin/bash, and that you are -currently at a shell prompt in a checked-out LLDB repository. - -1. Check out LLVM and Clang from their repositories. To determine - the revision to use, consult scripts/build-llvm.pl (this is done - in the first command line below). !!! WARNING Do not use the - name "llvm" for your checkout, for reasons described in part 3 - below. - - $ export CLANG_REVISION=`cat scripts/build-llvm.pl | grep ^our.*llvm_revision | cut -d \' -f 2,2` - $ svn co -r $CLANG_REVISION http://llvm.org/svn/llvm-project/llvm/trunk llvm.checkout - $ svn co -r $CLANG_REVISION http://llvm.org/svn/llvm-project/cfe/trunk llvm.checkout/tools/clang - -2. Configure LLVM/Clang with the proper options and compilers. I use: - - $ cd llvm.checkout - $ CC="cc -g -O0" CXX="c++ -g -O0" ./configure --disable-optimized --enable-assertions --enable-targets=x86_64,arm - $ CC="cc -g -O0" CXX="c++ -g -O0" make -j 2 - $ cd .. - -3. Create a link to the built LLVM. !!! WARNING: Do not rename the - directory! The LLVM builder script that runs as part of the Xcode - build keys off the fact that llvm/ is a symlink to recognize that - we are building with a custom debug build. - - $ ln -sf llvm.checkout llvm - -4. Make sure that your Xcode project is set up correctly. Open - lldb.xcodeproj and do the following: - - Under "Targets" in the Groups & Files navigator, double-click - lldb-tool. In the resulting window, select "Debug" from the - "Configuration:" drop-down. Then, make sure that the setting - "Build Active Architecture Only" is enabled. Close the window. - - Under "Targets" in the Groups & Files navigator, double-click - LLDB. In the resulting window, select "Debug" from the - "Configuration:" drop-down. Then, make sure that the setting - "Build Active Architecture Only" is enabled. Close the window. - -5. Ensure that Xcode is building the lldb-tool target in Debug - configuration for your architecture (typically x86_64). You - can usually pick these options from the Overview drop-down at - the top left of the Xcode window. - -6. Build lldb.xcodeproj. - Index: lldb/packages/Python/lldbsuite/test/functionalities/command_source/TestCommandSource.py =================================================================== --- lldb/packages/Python/lldbsuite/test/functionalities/command_source/TestCommandSource.py +++ lldb/packages/Python/lldbsuite/test/functionalities/command_source/TestCommandSource.py @@ -1,7 +1,5 @@ """ Test that lldb command "command source" works correctly. - -See also http://llvm.org/viewvc/llvm-project?view=rev&revision=109673. """ from __future__ import print_function Index: lldb/packages/Python/lldbsuite/test/lang/objc/objc-optimized/TestObjcOptimized.py =================================================================== --- lldb/packages/Python/lldbsuite/test/lang/objc/objc-optimized/TestObjcOptimized.py +++ lldb/packages/Python/lldbsuite/test/lang/objc/objc-optimized/TestObjcOptimized.py @@ -1,7 +1,6 @@ """ Test that objective-c expression parser continues to work for optimized build. -http://llvm.org/viewvc/llvm-project?rev=126973&view=rev Fixed a bug in the expression parser where the 'this' or 'self' variable was not properly read if the compiler optimized it into a register. Index: lldb/utils/vim-lldb/doc/lldb.txt =================================================================== --- lldb/utils/vim-lldb/doc/lldb.txt +++ lldb/utils/vim-lldb/doc/lldb.txt @@ -107,7 +107,7 @@ ABOUT *lldb-about* Grab the latest version of this plugin (and LLDB sources) with: - git clone http://llvm.org/git/lldb + git clone https://github.com/llvm/llvm-project.git File any bugs at: http://llvm.org/bugs/enter_bug.cgi?product=lldb Index: lldb/www/adding-language-support.html =================================================================== --- lldb/www/adding-language-support.html +++ lldb/www/adding-language-support.html @@ -56,7 +56,7 @@

    The LanguageType enum - (see lldb-enumerations.h) + (see lldb-enumerations.h) contains a list of every language known to LLDB. It is the one place where support for a language must live that will need to merge cleanly with core LLDB if you @@ -72,8 +72,8 @@

    Add a TypeSystem for the Language

    - Both Module - and Target + Both Module + and Target support the retrieval of a TypeSystem instance via GetTypeSystemForLanguage(). For Module, this method is directly on the Module instance. For Target, this is @@ -116,7 +116,7 @@ Expression Evaluation support is enabled by implementing the relevant methods on a TypeSystem-derived class. Search for "Expression" in the - TypeSystem header + TypeSystem header to find relevant methods to implement.

    @@ -160,7 +160,7 @@ Your TypeSystem will need an approach for creating types based on a set of Modules. If your type info is going to come from DWARF info, you will want to subclass - DWARFASTParser. + DWARFASTParser.

    Index: lldb/www/build.html =================================================================== --- lldb/www/build.html +++ lldb/www/build.html @@ -249,48 +249,11 @@

    Building LLDB

    - We first need to checkout the source trees into the appropriate locations. Both - Clang and LLDB build as subprojects of LLVM. This means we will be checking out - the source for both Clang and LLDB into the tools subdirectory of LLVM. We - will be setting up a directory hierarchy looking something like this: -

    -

    -

      
    -                  llvm
    -                  |
    -                  `-- tools
    -                      |
    -                      +-- clang
    -                      |
    -                      `-- lldb
    -                
    -

    -

    - For reference, we will call the root of the LLVM project tree $llvm, and the - roots of the Clang and LLDB source trees $clang and $lldb respectively. -

    -

    Change to the directory where you want to do development work and checkout LLVM:

    - > svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm - -

    Now switch to LLVM’s tools subdirectory and checkout both Clang and LLDB:

    - - > cd $llvm/tools -
    > svn co http://llvm.org/svn/llvm-project/cfe/trunk clang -
    > svn co http://llvm.org/svn/llvm-project/lldb/trunk lldb -
    - -

    - In general, building the LLDB trunk revision requires trunk revisions of both - LLVM and Clang. -

    -

    - It is highly recommended that you build the system out of tree. Create a second - build directory and configure the LLVM project tree to your specifications as - outlined in LLVM’s Getting Started Guide. A typical build procedure - might be: -

    - - > cd $llvm/.. + LLDB requires both LLVM and Clang to build. We first need to checkout the source tree, + which contains all three. Change to the directory where you want to do development + work and clone the repository:

    + > git clone https://github.com/llvm/llvm-project.git +
    > cd llvm-project
    > mkdir build
    > cd build
    @@ -309,7 +272,7 @@ ninja on your system. To build using ninja:

    - > cmake ../llvm -G Ninja + > cmake ../llvm -G Ninja -DLLVM_ENABLE_PROJECTS='clang;lldb'
    > ninja lldb
    > ninja check-lldb
    @@ -318,7 +281,7 @@ two additional arguments to cmake before running ninja:

    - > cmake ../llvm -G Ninja -DLLDB_EXPORT_ALL_SYMBOLS=1 -DCMAKE_BUILD_TYPE=Debug + > cmake ../llvm -G Ninja -DLLVM_ENABLE_PROJECTS='clang;lldb' -DLLDB_EXPORT_ALL_SYMBOLS=1 -DCMAKE_BUILD_TYPE=Debug

    Using CMake + Unix Makefiles

    If you do not have Ninja, you can still use CMake to generate Unix Makefiles that build LLDB:

    Index: lldb/www/index.html =================================================================== --- lldb/www/index.html +++ lldb/www/index.html @@ -110,7 +110,7 @@

    To check out the code, use:

      -
    • svn co http://llvm.org/svn/llvm-project/lldb/trunk lldb
    • +
    • git clone https://github.com/llvm/llvm-project.git

    Note that LLDB generally builds from top-of-trunk

    Index: lldb/www/python-reference.html =================================================================== --- lldb/www/python-reference.html +++ lldb/www/python-reference.html @@ -515,11 +515,11 @@ its operations.

    There is a longer discussion of scripted thread plans and the state machine, and several interesting examples of their use in:

    - scripted_step.py + scripted_step.py

    And for a MUCH fuller discussion of the whole state machine, see:

    - ThreadPlan.h + 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". @@ -795,7 +795,7 @@

    A more interesting template has been created in the source repository that can help you to create lldb command quickly:

    - cmdtemplate.py + 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 po'es the result of an expression evaluated on its argument). For instance, given the following program: Index: lldb/www/scripting.html =================================================================== --- lldb/www/scripting.html +++ lldb/www/scripting.html @@ -160,7 +160,7 @@ objects are used, among other things, to wrap up program variables and values. There are many useful methods defined in the SBValue class to allow you to get information or children values out of SBValues. For complete information, see - the header file SBValue.h. The + the header file SBValue.h. The SBValue methods that we use in our DFS function are GetChildMemberWithName(), GetSummary(), and GetValue().

    @@ -573,8 +573,8 @@ the DFS function and other Python script examples (tree_utils.py) used for this example are available via following file links:

    -tree_utils.py - Example Python functions using LLDB's API, including DFS
    -dictionary.c - Sample dictionary program, with bug
    +tree_utils.py - Example Python functions using LLDB's API, including DFS
    +dictionary.c - Sample dictionary program, with bug

    The text for "Romeo and Juliet" can be obtained from the Gutenberg Project (http://www.gutenberg.org).

    Index: lldb/www/sidebar.incl =================================================================== --- lldb/www/sidebar.incl +++ lldb/www/sidebar.incl @@ -50,8 +50,7 @@
  • Test
  • SB API Coding Rules
  • Bug Reports
  • -
  • Browse SVN
  • -
  • Browse ViewVC
  • +
  • Browse Sources
  • Index: lldb/www/source.html =================================================================== --- lldb/www/source.html +++ lldb/www/source.html @@ -22,23 +22,9 @@

    Refer to the LLVM Getting Started Guide for general instructions on how to check out source. Note that LLDB depends on having a working checkout of LLVM - and Clang, so the first step is to download LLVM and Clang sources as described at the above URL. Then you can - additionally download the LLDB sources from the following repository URLs.

    -

    SVN Repository: http://llvm.org/svn/llvm-project/lldb/trunk

    -

    Git Clone: http://llvm.org/git/lldb.git

    -

    - For non-Mac platforms, and for MacOSX building with CMake (not Xcode), you should check out your sources to adhere to - the following directory structure: -

      
    -                  llvm
    -                  |
    -                  `-- tools
    -                      |
    -                      +-- clang
    -                      |
    -                      `-- lldb
    -                
    -

    + and Clang, so the first step is to download and build as described at the above URL. The same repository also + contains LLDB.

    +

    Git browser: https://github.com/llvm/llvm-project/tree/master/lldb

    For MacOSX building from Xcode, simply checkout LLDB and then build from Xcode. The Xcode project will automatically detect that it is a fresh checkout, and checkout LLVM and clang automatically. Unlike other Index: lldb/www/symbolication.html =================================================================== --- lldb/www/symbolication.html +++ lldb/www/symbolication.html @@ -352,8 +352,8 @@

    The source for the "symbolication" and "crashlog" modules are available in SVN:

    Index: lldb/www/varformats.html =================================================================== --- lldb/www/varformats.html +++ lldb/www/varformats.html @@ -870,13 +870,13 @@

    internal_dict is an internal support parameter used by LLDB and you should not touch it.
    valobj is the object encapsulating the actual - variable being displayed, and its type is SBValue. + variable being displayed, and its type is SBValue. Out of the many possible operations on an SBValue, the basic one is retrieve the children objects it contains (essentially, the fields of the object wrapped by it), by calling GetChildMemberWithName(), passing it the child's name as a string.
    If the variable has a value, you can ask for it, and return it as a string using GetValue(), or as a signed/unsigned number using GetValueAsSigned(), GetValueAsUnsigned(). - It is also possible to retrieve an SBData object by calling GetData() and then read + It is also possible to retrieve an SBData object by calling GetData() and then read the object's contents out of the SBData.

    If you need to delve into several levels of hierarchy, as you can do with summary @@ -957,7 +957,7 @@ matching.

    One of the ways LLDB uses this feature internally, is to match the names of STL container classes, regardless of the template - arguments provided. The details for this are found at FormatManager.cpp

    + arguments provided. The details for this are found at FormatManager.cpp

    The regular expression language used by LLDB is the POSIX extended language, as defined by the Single UNIX Specification, of which Mac OS X is a compliant implementation. @@ -1069,9 +1069,9 @@
    [3] This method is optional (starting with SVN revision 219330). The SBValue you return here will most likely be a numeric type (int, float, ...) as its value bytes will be used as-if they were the value of the root SBValue proper. As a shortcut for this, you can inherit from lldb.SBSyntheticValueProvider, and just define get_value as other methods are defaulted in the superclass as returning default no-children responses.

    If a synthetic child provider supplies a special child named $$dereference$$ then it will be used when evaluating opertaor* and operator-> in the frame variable command and related SB API functions.

    -

    For examples of how synthetic children are created, you are encouraged to look at examples/synthetic in the LLDB trunk. Please, be aware that the code in those files (except bitfield/) +

    For examples of how synthetic children are created, you are encouraged to look at examples/synthetic in the LLDB sources. Please, be aware that the code in those files (except bitfield/) is legacy code and is not maintained. - You may especially want to begin looking at this example to get + You may especially want to begin looking at this example to get a feel for this feature, as it is a very easy and well commented example.

    The design pattern consistently used in synthetic providers shipping with LLDB is to use the __init__ to store the SBValue instance as a part of self. The update function is then used @@ -1206,7 +1206,7 @@ Because LLDB uses a detection algorithm that does not need to invoke any functions on the target process, no-run-target is enough for this to work.

    As a side note, the summary for NSString shown in the example is built right into LLDB. - It was initially implemented through Python (the code is still available for reference at CFString.py). + It was initially implemented through Python (the code is still available for reference at CFString.py). However, this is out of sync with the current implementation of the NSString formatter (which is a C++ function compiled into the LLDB core).

    @@ -1281,9 +1281,7 @@

    Finding formatters 101

    -

    Searching for a formatter - (including formats, starting in SVN rev r192217) - given a variable goes through +

    Searching for a formatter given a variable goes through a rather intricate set of rules. Namely, what happens is that LLDB starts looking in each enabled category, according to the order in which they were enabled (latest enabled first). In each category, LLDB does Index: llgo/README.TXT =================================================================== --- llgo/README.TXT +++ llgo/README.TXT @@ -38,20 +38,14 @@ To build and install llgo: - # Checkout LLVM: - svn co http://llvm.org/svn/llvm-project/llvm/trunk /path/to/llvm - - # Checkout Clang: - cd /path/to/llvm/tools - svn co http://llvm.org/svn/llvm-project/cfe/trunk clang - - # Checkout llgo: - svn co http://llvm.org/svn/llvm-project/llgo/trunk llgo + # Checkout llvm project. + git clone https://github.com/llvm/llvm-project.git # Build LLVM, Clang and llgo: (see also http://llvm.org/docs/CMake.html) - mkdir /path/to/llvm-build - cd /path/to/llvm-build - cmake /path/to/llvm -DCMAKE_INSTALL_PREFIX=/path/to/llvm-inst + cd llvm-project + mkdir build + cd build + cmake ../llvm -DLLVM_ENABLE_PROJECTS='clang;llgo' -DCMAKE_INSTALL_PREFIX=/path/to/llvm-inst make install Running Index: llvm/docs/CompileCudaWithLLVM.rst =================================================================== --- llvm/docs/CompileCudaWithLLVM.rst +++ llvm/docs/CompileCudaWithLLVM.rst @@ -143,9 +143,9 @@ ---------------------------- In clang, ``math.h`` and ``cmath`` are available and `pass -`_ +`_ `tests -`_ +`_ adapted from libc++'s test suite. In nvcc ``math.h`` and ``cmath`` are mostly available. Versions of ``::foof`` Index: llvm/docs/LibFuzzer.rst =================================================================== --- llvm/docs/LibFuzzer.rst +++ llvm/docs/LibFuzzer.rst @@ -544,7 +544,7 @@ Currently, there is no simple way to run both fuzzing engines in parallel while sharing the same corpus dir. You may also use AFL on your target function ``LLVMFuzzerTestOneInput``: -see an example `here `__. +see an example `here `__. How good is my fuzzer? ---------------------- @@ -741,7 +741,7 @@ .. _AddressSanitizer: http://clang.llvm.org/docs/AddressSanitizer.html .. _LeakSanitizer: http://clang.llvm.org/docs/LeakSanitizer.html .. _Heartbleed: http://en.wikipedia.org/wiki/Heartbleed -.. _FuzzerInterface.h: https://github.com/llvm-mirror/compiler-rt/blob/master/lib/fuzzer/FuzzerInterface.h +.. _FuzzerInterface.h: https://github.com/llvm/llvm-project/blob/master/compiler-rt/lib/fuzzer/FuzzerInterface.h .. _3.7.0: http://llvm.org/releases/3.7.0/docs/LibFuzzer.html .. _building Clang from trunk: http://clang.llvm.org/get_started.html .. _MemorySanitizer: http://clang.llvm.org/docs/MemorySanitizer.html Index: llvm/docs/TestSuiteMakefileGuide.rst =================================================================== --- llvm/docs/TestSuiteMakefileGuide.rst +++ /dev/null @@ -1,198 +0,0 @@ -====================================== -test-suite Makefile Guide (deprecated) -====================================== - -.. contents:: - :local: - -Overview -======== - -First, all tests are executed within the LLVM object directory tree. -They *are not* executed inside of the LLVM source tree. This is because -the test suite creates temporary files during execution. - -To run the test suite, you need to use the following steps: - -#. ``cd`` into the ``llvm/projects`` directory in your source tree. -#. Check out the ``test-suite`` module with: - - .. code-block:: bash - - % svn co http://llvm.org/svn/llvm-project/test-suite/trunk test-suite - - This will get the test suite into ``llvm/projects/test-suite``. - -#. Configure and build ``llvm``. - -#. Configure and build ``llvm-gcc``. - -#. Install ``llvm-gcc`` somewhere. - -#. *Re-configure* ``llvm`` from the top level of each build tree (LLVM - object directory tree) in which you want to run the test suite, just - as you do before building LLVM. - - During the *re-configuration*, you must either: (1) have ``llvm-gcc`` - you just built in your path, or (2) specify the directory where your - just-built ``llvm-gcc`` is installed using - ``--with-llvmgccdir=$LLVM_GCC_DIR``. - - You must also tell the configure machinery that the test suite is - available so it can be configured for your build tree: - - .. code-block:: bash - - % cd $LLVM_OBJ_ROOT ; $LLVM_SRC_ROOT/configure [--with-llvmgccdir=$LLVM_GCC_DIR] - - [Remember that ``$LLVM_GCC_DIR`` is the directory where you - *installed* llvm-gcc, not its src or obj directory.] - -#. You can now run the test suite from your build tree as follows: - - .. code-block:: bash - - % cd $LLVM_OBJ_ROOT/projects/test-suite - % make - -Note that the second and third steps only need to be done once. After -you have the suite checked out and configured, you don't need to do it -again (unless the test code or configure script changes). - -Configuring External Tests -========================== - -In order to run the External tests in the ``test-suite`` module, you -must specify *--with-externals*. This must be done during the -*re-configuration* step (see above), and the ``llvm`` re-configuration -must recognize the previously-built ``llvm-gcc``. If any of these is -missing or neglected, the External tests won't work. - -* *--with-externals* - -* *--with-externals=* - -This tells LLVM where to find any external tests. They are expected to -be in specifically named subdirectories of <``directory``>. If -``directory`` is left unspecified, ``configure`` uses the default value -``/home/vadve/shared/benchmarks/speccpu2000/benchspec``. Subdirectory -names known to LLVM include: - -* spec95 - -* speccpu2000 - -* speccpu2006 - -* povray31 - -Others are added from time to time, and can be determined from -``configure``. - -Running Different Tests -======================= - -In addition to the regular "whole program" tests, the ``test-suite`` -module also provides a mechanism for compiling the programs in different -ways. If the variable TEST is defined on the ``gmake`` command line, the -test system will include a Makefile named -``TEST..Makefile``. This Makefile can modify -build rules to yield different results. - -For example, the LLVM nightly tester uses ``TEST.nightly.Makefile`` to -create the nightly test reports. To run the nightly tests, run -``gmake TEST=nightly``. - -There are several TEST Makefiles available in the tree. Some of them are -designed for internal LLVM research and will not work outside of the -LLVM research group. They may still be valuable, however, as a guide to -writing your own TEST Makefile for any optimization or analysis passes -that you develop with LLVM. - -Generating Test Output -====================== - -There are a number of ways to run the tests and generate output. The -most simple one is simply running ``gmake`` with no arguments. This will -compile and run all programs in the tree using a number of different -methods and compare results. Any failures are reported in the output, -but are likely drowned in the other output. Passes are not reported -explicitly. - -Somewhat better is running ``gmake TEST=sometest test``, which runs the -specified test and usually adds per-program summaries to the output -(depending on which sometest you use). For example, the ``nightly`` test -explicitly outputs TEST-PASS or TEST-FAIL for every test after each -program. Though these lines are still drowned in the output, it's easy -to grep the output logs in the Output directories. - -Even better are the ``report`` and ``report.format`` targets (where -``format`` is one of ``html``, ``csv``, ``text`` or ``graphs``). The -exact contents of the report are dependent on which ``TEST`` you are -running, but the text results are always shown at the end of the run and -the results are always stored in the ``report..format`` file (when -running with ``TEST=``). The ``report`` also generate a file -called ``report..raw.out`` containing the output of the entire -test run. - -Writing Custom Tests for the test-suite -======================================= - -Assuming you can run the test suite, (e.g. -"``gmake TEST=nightly report``" should work), it is really easy to run -optimizations or code generator components against every program in the -tree, collecting statistics or running custom checks for correctness. At -base, this is how the nightly tester works, it's just one example of a -general framework. - -Lets say that you have an LLVM optimization pass, and you want to see -how many times it triggers. First thing you should do is add an LLVM -`statistic `_ to your pass, which will -tally counts of things you care about. - -Following this, you can set up a test and a report that collects these -and formats them for easy viewing. This consists of two files, a -"``test-suite/TEST.XXX.Makefile``" fragment (where XXX is the name of -your test) and a "``test-suite/TEST.XXX.report``" file that indicates -how to format the output into a table. There are many example reports of -various levels of sophistication included with the test suite, and the -framework is very general. - -If you are interested in testing an optimization pass, check out the -"libcalls" test as an example. It can be run like this: - -.. code-block:: bash - - % cd llvm/projects/test-suite/MultiSource/Benchmarks # or some other level - % make TEST=libcalls report - -This will do a bunch of stuff, then eventually print a table like this: - -:: - - Name | total | #exit | - ... - FreeBench/analyzer/analyzer | 51 | 6 | - FreeBench/fourinarow/fourinarow | 1 | 1 | - FreeBench/neural/neural | 19 | 9 | - FreeBench/pifft/pifft | 5 | 3 | - MallocBench/cfrac/cfrac | 1 | * | - MallocBench/espresso/espresso | 52 | 12 | - MallocBench/gs/gs | 4 | * | - Prolangs-C/TimberWolfMC/timberwolfmc | 302 | * | - Prolangs-C/agrep/agrep | 33 | 12 | - Prolangs-C/allroots/allroots | * | * | - Prolangs-C/assembler/assembler | 47 | * | - Prolangs-C/bison/mybison | 74 | * | - ... - -This basically is grepping the -stats output and displaying it in a -table. You can also use the "TEST=libcalls report.html" target to get -the table in HTML form, similarly for report.csv and report.tex. - -The source for this is in ``test-suite/TEST.libcalls.*``. The format is -pretty simple: the Makefile indicates how to run the test (in this case, -"``opt -simplify-libcalls -stats``"), and the report contains one line -for each column of the output. The first value is the header for the -column and the second is the regex to grep the output of the command -for. There are lots of example reports that can do fancy stuff. Index: llvm/docs/TestingGuide.rst =================================================================== --- llvm/docs/TestingGuide.rst +++ llvm/docs/TestingGuide.rst @@ -165,15 +165,9 @@ Debugging Information tests --------------------------- -To run debugging information tests simply checkout the tests inside -clang/test directory. - -.. code-block:: bash - - % cd clang/test - % svn co http://llvm.org/svn/llvm-project/debuginfo-tests/trunk debuginfo-tests - -These tests are already set up to run as part of clang regression tests. +To run debugging information tests simply add the ``debuginfo-tests`` +project to your ``LLVM_ENABLE_PROJECTS`` define on the cmake +command-line. Regression test structure ========================= Index: llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp =================================================================== --- llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp +++ llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp @@ -4319,7 +4319,7 @@ // Expand f32 -> i64 conversion // This algorithm comes from compiler-rt's implementation of fixsfdi: - // https://github.com/llvm-mirror/compiler-rt/blob/master/lib/builtins/fixsfdi.c + // https://github.com/llvm/llvm-project/blob/master/compiler-rt/lib/builtins/fixsfdi.c unsigned SrcEltBits = SrcVT.getScalarSizeInBits(); EVT IntVT = SrcVT.changeTypeToInteger(); EVT IntShVT = getShiftAmountTy(IntVT, DAG.getDataLayout()); Index: llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h =================================================================== --- llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h +++ llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h @@ -211,14 +211,14 @@ const char* getTargetNodeName(unsigned Opcode) const override; - // FIXME: Turn off MergeConsecutiveStores() before Instruction Selection - // for AMDGPU. - // A commit ( git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@319036 - // 91177308-0d34-0410-b5e6-96231b3b80d8 ) turned on - // MergeConsecutiveStores() before Instruction Selection for all targets. - // Enough AMDGPU compiles go into an infinite loop ( MergeConsecutiveStores() - // merges two stores; LegalizeStoreOps() un-merges; MergeConsecutiveStores() - // re-merges, etc. ) to warrant turning it off for now. + // FIXME: Turn off MergeConsecutiveStores() before Instruction Selection for + // AMDGPU. Commit r319036, + // (https://github.com/llvm/llvm-project/commit/db77e57ea86d941a4262ef60261692f4cb6893e6) + // turned on MergeConsecutiveStores() before Instruction Selection for all + // targets. Enough AMDGPU compiles go into an infinite loop ( + // MergeConsecutiveStores() merges two stores; LegalizeStoreOps() un-merges; + // MergeConsecutiveStores() re-merges, etc. ) to warrant turning it off for + // now. bool mergeStoresAfterLegalization() const override { return false; } bool isFsqrtCheap(SDValue Operand, SelectionDAG &DAG) const override { Index: llvm/test/CodeGen/PowerPC/pr24546.ll =================================================================== --- llvm/test/CodeGen/PowerPC/pr24546.ll +++ llvm/test/CodeGen/PowerPC/pr24546.ll @@ -56,7 +56,7 @@ !llvm.module.flags = !{!29, !30} !llvm.ident = !{!31} -!0 = distinct !DICompileUnit(language: DW_LANG_C99, file: !1, producer: "clang version 3.8.0 (git://github.com/llvm-mirror/clang.git e0848b6353721eb1b278a5bbea257bbf6316251e) (git://github.com/llvm-mirror/llvm.git 8724a428dfd5e78d7865bb01783708e83f9ed128)", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !2, retainedTypes: !3, globals: !23) +!0 = distinct !DICompileUnit(language: DW_LANG_C99, file: !1, producer: "clang version 3.8.0", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !2, retainedTypes: !3, globals: !23) !1 = !DIFile(filename: "testcase.i", directory: "/tmp/glibc.build") !2 = !{} !3 = !{!4} @@ -86,7 +86,7 @@ !28 = !DISubrange(count: 23) !29 = !{i32 2, !"Dwarf Version", i32 4} !30 = !{i32 2, !"Debug Info Version", i32 3} -!31 = !{!"clang version 3.8.0 (git://github.com/llvm-mirror/clang.git e0848b6353721eb1b278a5bbea257bbf6316251e) (git://github.com/llvm-mirror/llvm.git 8724a428dfd5e78d7865bb01783708e83f9ed128)"} +!31 = !{!"clang version 3.8.0"} !32 = !DILocation(line: 21, column: 32, scope: !33) !33 = distinct !DILexicalBlock(scope: !6, file: !1, line: 21, column: 6) !34 = !DILocation(line: 22, column: 15, scope: !35) Index: llvm/utils/lit/setup.py =================================================================== --- llvm/utils/lit/setup.py +++ llvm/utils/lit/setup.py @@ -52,8 +52,8 @@ Source ====== -The *lit* source is available as part of LLVM, in the LLVM SVN repository: -http://llvm.org/svn/llvm-project/llvm/trunk/utils/lit. +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 """, classifiers=[ Index: openmp/www/index.html =================================================================== --- openmp/www/index.html +++ openmp/www/index.html @@ -25,8 +25,7 @@ openmp-dev openmp-commits Bug Reports - Browse SVN - Browse ViewVC + Browse Sources

    @@ -154,30 +153,22 @@

    To check out the code, use:

      -
    • svn co http://llvm.org/svn/llvm-project/openmp/trunk openmp
    • +
    • git clone https://github.com/llvm/llvm-project.git
    -

    - Note that for an in-tree build, you should check out openmp to llvm/projects. -

    -

    In-tree build:

      -
    • cd where-you-want-to-live
    • -
    • Check out openmp into llvm/projects
    • -
    • cd where-you-want-to-build
    • +
    • cd llvm-project
    • mkdir build && cd build
    • -
    • cmake path/to/llvm -DCMAKE_C_COMPILER=<C compiler> -DCMAKE_CXX_COMPILER=<C++ compiler>
    • +
    • cmake ../llvm -DLLVM_ENABLE_PROJECTS=openmp -DCMAKE_C_COMPILER=<C compiler> -DCMAKE_CXX_COMPILER=<C++ compiler>
    • make omp

    Out-of-tree build:

      -
    • cd where-you-want-to-live
    • -
    • Check out openmp
    • -
    • cd where-you-want-to-live/openmp
    • -
    • mkdir build && cd build
    • -
    • cmake path/to/openmp -DCMAKE_C_COMPILER=<C compiler> -DCMAKE_CXX_COMPILER=<C++ compiler>
    • +
    • cd llvm-project
    • +
    • mkdir build-openmp && cd build-openmp
    • +
    • cmake ../openmp -DCMAKE_C_COMPILER=<C compiler> -DCMAKE_CXX_COMPILER=<C++ compiler>
    • make
    Index: polly/docs/TipsAndTricks.rst =================================================================== --- polly/docs/TipsAndTricks.rst +++ polly/docs/TipsAndTricks.rst @@ -47,7 +47,7 @@ the regression. LLVM has a single repository that contains all projects. It can be cloned at: -``_. How to bisect on a +``_. How to bisect on a git repository is explained here ``_. The bisect process can also be automated as explained here: Index: polly/www/get_started.html =================================================================== --- polly/www/get_started.html +++ polly/www/get_started.html @@ -33,20 +33,14 @@

    Manual

    Get the code

    -

    Warning: Polly/LLVM/clang need to be checked out at the same time.

    -
    -git clone http://llvm.org/git/llvm.git llvm_git
    -git clone http://llvm.org/git/polly.git llvm_git/tools/polly
    -
    -# Also build the matching clang-version (optional)
    -git clone http://llvm.org/git/clang.git llvm_git/tools/clang
    +git clone http://github.com/llvm/llvm-project.git llvm_git
     

    Build Polly

     mkdir llvm_build && cd llvm_build
    -cmake ../llvm_git && make
    +cmake -DLLVM_ENABLE_PROJECTS='polly;clang' ../llvm_git/llvm && make
     

    Test Polly

    @@ -59,7 +53,7 @@ build. To configure Polly to use a pre-built LLVM, set the -DCMAKE_PREFIX_PATH option: -
    cmake -DCMAKE_PREFIX_PATH=${LLVM_PREFIX}/lib/cmake/llvm
    +
    cmake -DCMAKE_PREFIX_PATH=${LLVM_PREFIX}/lib/cmake/llvm ../llvm_git/polly
    To run unittests, however, you need to have the LLVM source directory around. Polly will use the llvm-config of the LLVM you're building against Index: polly/www/menu.html.incl =================================================================== --- polly/www/menu.html.incl +++ polly/www/menu.html.incl @@ -34,7 +34,7 @@ Code Coverage Static analysis Doxygen - Source @ GitHub + Source @ GitHub