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

Материал из Викиновостей, свободного источника новостей

26 октября 2009 года

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

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

  • Clang, фронтенд для C и Objective-C, который можно использовать вместо GCC, объявлен стабильным и готовым для промышленной эксплуатации. Исходные тексты Clang распространяются в рамках лицензии BSD;
  • Значительно улучшено качество генерации кода для платформы x86_64;
  • Реализация поддержки оптимизации во время связывания (link-time) для систем, использующих формат исполняемых файлов ELF;
  • Добавлены новые генераторы кода для архитектур MSP430, SystemZ и BlackFin;
  • Поддержка генерации многопоточного кода и реализация соответствующих оптимизаций;
  • Интеграция с системой профилирования OProfile для JIT;
  • Добавлена поддержка архитектуры ARM V7 (включая Thumb2 и

NEON);

  • В состав включены биндинги для языка Ada2005;
  • Реализована поддержка SSE 4.2;
  • Представлены новые субпроекты, основанные на LLVM, но не включенные в базовую поставку:
  • llvm-gcc плагин DragonEgg, нацеленный на совместимость с еще не выпущенным GCC 4.5;
  • KLEE - символьный анализатор и генератор тестовых наборов;
  • Runtime-библиотека compiler-rt;
  • llvm-mc - автогенератор ассемблера, дизассемблера и других, связанных с машинным кодом компонентов, на основе описаний параметров LLVM-совместимых платформ.

Из параллельно развивающихся сторонних проектов, основанных на LLVM , можно отметить VMKit ( виртуальная машина для Java VM и .NET VM), реализацию функционального языка программирования Pure, LDC (компилятор для языка D), Roadsend PHP (оптимизатор, статический и JIT компилятор для языка PHP), виртуальные машины для Ruby ( Rubinius и MacRuby), [http://code.google.com/p/unladen-swallow/ Unladen Swallow] (реализация языка Python), LLVM-Lua, FlashCCompiler (средство для компиляции кода на языке Си в вид пригодный для выполнения в виртуальной машине Adobe Flash).

Источники[править]


Creative Commons
Creative Commons
Эта статья содержит материалы из статьи «Новая версия набора компиляторов LLVM Compiler 2.6», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии[править]

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.