anonymous@RULINUX.NET~# Last login: 2024-11-22 17:12:54
Регистрация Вход Новости | Разметка | Пользователи | Галерея | Форум | Статьи | Неподтвержденное | Трекер | Правила форума | F.A.Q. | Ссылки | Поиск
[#] [Добавить метку] [Редактировать]
Скрыть

Новая версия набора компиляторов LLVM 3.4

Увидел свет релиз проекта LLVM 3.4 (Low Level Virtual Machine) - GCC совместимого инструментария (компиляторы, оптимизаторы и генераторы кода), компилирующего программы в промежуточный биткод RISC подобных виртуальных инструкций (низкоуровневая виртуальная машина с многоуровневой системой оптимизации). Сгенерированный платформонезависимый псевдокод может быть преобразован при помощи JIT-компилятора в машинные инструкции непосредственно в момент выполнения программы.

Основные новшества LLVM 3.4:

  •  Существенно увеличена производительность генератора кода. При использовании флагов оптимизации "-Os" и "-O2" по умолчанию включена поддержка автоматической векторизации циклов, ранее применяемой только при указании флага "-O3". Также включен по умолчанию представленный в прошлом выпуске новый SLP-векторизатор.
  •  Сборка по умолчанию бэкэнда для использования в качестве целевой платформы GPU семейства R600 (HD2XXX - HD7XXX). Бэкэнд необходим для компилятора шейдеров LLVM, который в свою очередь требуется для открытой реализации стандарта OpenCL;
  •  В llvm-ar задействована новая библиотека объектов и обеспечена генерация архивов и таблиц символов в формате GNU;
  •  Значительно расширены биндинги для языка OCaml, которые теперь охватывают возможности всех библиотек LLVM;
  •  Внесены заметные изменения в бэкенд для процессоров PowerPC, положительно повлиявшие на качество кода и скорость сборки;
  •  В бэкенд MIPS добавлена поддержка архитектуры MSA (MIPS SIMD Architecture);
  •  Добавлен экспериментальный бэкенд для архитектуры SPARC V9;
  •  В бэкенд для архитектуры SPARC добавлена поддержка JIT, fp128, обработки исключений и TLS (Thread-Local Storage);
  •  Расширены возможности бэкендов X86, ARM32, Aarch64 и SystemZ;
  •  LLVM 3.4 является последним выпуском, который может быть собран компилятором с поддержкой стандарта C++'98, для сборки следующих версий потребуется компилятор, совместимый с C++'11.


Улучшения в Clang:
  •  Обеспечена полная поддержка всех возможностей текущего чернового варианта будущего стандарта C++1y;
  •   В Clang Static Analyzer существенно улучшена поддержка C++, сокращено число ложных срабатываний и расширено число выявляемых ошибок;
  •  В состав включена новая утилита "clang-format", которую можно использовать для автоматического форматирования кода в текстовых редакторах или интегрированных средах разработки, на основе заданного набора правил стилевого оформления кода;
  •  Добавлен драйвер с экспериментальным альтернативным интерфейсом командной строки, обеспечивающим совместимость на уровне опций с компилятором cl.exe из состава Visual Studio. Драйвер может применяться для упрощения миграции проектов на Clang без переработки сборочных сценариев;
  •  При использовании флага "-O4" теперь не включается оптимизации на стадии компоновки (link-time optimization), для которой следует явно указать флаг "-flto", применяемый при любом уровне оптимизации.


Также версия 3.4 дала старт новым субпроектам, о которых можно прочесть в оригинальной статье.

Качнуть сорса

>>> Подробнее

Nosferatu(*) (2014-01-07 08:21:20)

;>, ;5BOI55 =0 :@K;LOE =>G8

Подтверждено: vilfred(*) (2014-01-07 08:43:22)

[Ответить на это сообщение]

Этот тред читают 1 пользователь:
Анонимных: 1
Зарегистрированных: 0




(c) 2010-2020 LOR-NG Developers Group
Powered by TimeMachine

Valid HTML 4.01 Transitional Правильный CSS!