Информация об изменениях

Сообщение Re: Большая матрица сборок LLVM для тестирования от 11.04.2017 17:45

Изменено 11.04.2017 17:51 iZEN

Re: Большая матрица сборок LLVM для тестирования
Здравствуйте, vovkos, Вы писали:


V>Мотивация создания такова.


V>Официальный сайт LLVM готовые сборки предлагает, но количество доступных конфигураций до слёз мало. LLVM большой и собирается долго, последние версии -- по 40-50 минут на средних-по-больнице машинах. При этом в большинстве бесплатных облачных сервисов непрерывной интеграции стоит жёсткий лимит на время сборки (ещё бы!) -- и эти факты ну никак не сочетаются друг с другом. Впрочем, даже если бы лимита и не было, не хочется каждый раз иметь эту часовую задержку до начала тестирования собственно вашего проекта.


Релиз LLVM/Clang-4.0.0 состоялся 13 марта 2017г — https://www.opennet.ru/opennews/art.shtml?num=46181

На FreeBSD 11-STABLE LLVM/Clang-4.0.0 сейчас системный компилятор. От порта devel/llvm40 во FreeBSD сейчас зависит графическая подсистема 2D/3D-акселерации Mesa/DRI-17.0.3.

Состав компилятора из порта, собранного с отличными от дефолтных опциями:
% pkg info llvm40
llvm40-4.0.0_2
Name           : llvm40
Version        : 4.0.0_2
Installed on   : Sun Apr  2 13:07:23 2017 MSK
Origin         : devel/llvm40
Architecture   : FreeBSD:11:amd64
Prefix         : /usr/local
Categories     : devel lang
Licenses       : LLVM
Maintainer     : brooks@FreeBSD.org
WWW            : http://llvm.org/
Comment        : LLVM and Clang
Options        :
    CLANG          : on
    COMPILER_RT    : on
    DOCS           : off
    EXTRAS         : off
    GOLD           : off
    LIT            : off
    LLD            : on
    LLDB           : off
    OPENMP         : on
Shared Libs required:
    libedit.so.0
    libxml2.so.2
Shared Libs provided:
    libLLVM-4.0.so
    libLTO.so.4
    libclang.so.4
    libomp.so
    libclang_rt.dyndd-x86_64.so
    libclang_rt.asan-x86_64.so
Annotations    :
Flat size      : 974MiB
Description    :
The LLVM Project is a collection of modular and reusable compiler and
toolchain technologies.

This port includes Clang (a C/C++/Objective-C compiler), LLD (a linker),
LLDB (a debugger), an OpenMP runtime library, and the LLVM infrastructure
these are built on.

WWW: http://llvm.org/


Саму систему и почти всё ПО из портов можно собрать им или системным LLVM/Clang. (Надо пояснить, что есть GCC 5.4.0 для тех портов, которые не поддерживают сборку Clang — это примерно 1111 портов.)

Дополнительный плюс использования LLVM/Clang — это оптимизация кода на этапе компоновки (LTO, Link-time optimization) с помощью линковщика LLD, которая показывает неплохие результаты быстродействия и качества результирующего кода.
И переход FreeBSD с GNU ld на LLVM LLD в скором времени.
Re: Большая матрица сборок LLVM для тестирования
Здравствуйте, vovkos, Вы писали:


V>Мотивация создания такова.


V>Официальный сайт LLVM готовые сборки предлагает, но количество доступных конфигураций до слёз мало. LLVM большой и собирается долго, последние версии -- по 40-50 минут на средних-по-больнице машинах. При этом в большинстве бесплатных облачных сервисов непрерывной интеграции стоит жёсткий лимит на время сборки (ещё бы!) -- и эти факты ну никак не сочетаются друг с другом. Впрочем, даже если бы лимита и не было, не хочется каждый раз иметь эту часовую задержку до начала тестирования собственно вашего проекта.


Релиз LLVM/Clang-4.0.0 состоялся 13 марта 2017г — https://www.opennet.ru/opennews/art.shtml?num=46181

На FreeBSD 11-STABLE LLVM/Clang-4.0.0 сейчас системный компилятор:
% cc --version
FreeBSD clang version 4.0.0 (tags/RELEASE_400/final 297347) (based on LLVM 4.0.0)
Target: x86_64-unknown-freebsd11.0
Thread model: posix
InstalledDir: /usr/bin


От порта devel/llvm40 во FreeBSD сейчас зависит графическая подсистема 2D/3D-акселерации Mesa/DRI-17.0.3.

Состав компилятора из порта, собранного с отличными от дефолтных опциями:
% pkg info llvm40
llvm40-4.0.0_2
Name           : llvm40
Version        : 4.0.0_2
Installed on   : Sun Apr  2 13:07:23 2017 MSK
Origin         : devel/llvm40
Architecture   : FreeBSD:11:amd64
Prefix         : /usr/local
Categories     : devel lang
Licenses       : LLVM
Maintainer     : brooks@FreeBSD.org
WWW            : http://llvm.org/
Comment        : LLVM and Clang
Options        :
    CLANG          : on
    COMPILER_RT    : on
    DOCS           : off
    EXTRAS         : off
    GOLD           : off
    LIT            : off
    LLD            : on
    LLDB           : off
    OPENMP         : on
Shared Libs required:
    libedit.so.0
    libxml2.so.2
Shared Libs provided:
    libLLVM-4.0.so
    libLTO.so.4
    libclang.so.4
    libomp.so
    libclang_rt.dyndd-x86_64.so
    libclang_rt.asan-x86_64.so
Annotations    :
Flat size      : 974MiB
Description    :
The LLVM Project is a collection of modular and reusable compiler and
toolchain technologies.

This port includes Clang (a C/C++/Objective-C compiler), LLD (a linker),
LLDB (a debugger), an OpenMP runtime library, and the LLVM infrastructure
these are built on.

WWW: http://llvm.org/


Саму систему и почти всё ПО из портов можно собрать им или системным LLVM/Clang. (Надо пояснить, что есть GCC 5.4.0 для тех портов, которые не поддерживают сборку Clang — это примерно 1111 портов.)

Дополнительный плюс использования LLVM/Clang — это оптимизация кода на этапе компоновки (LTO, Link-time optimization) с помощью линковщика LLD, которая показывает неплохие результаты быстродействия и качества результирующего кода.
И переход FreeBSD с GNU ld на LLVM LLD в скором времени:
% ld --version
GNU ld 2.17.50 [FreeBSD] 2007-07-03
Copyright 2007 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License.  This program has absolutely no warranty.