Linux Forum Казахстан

Общий => Новости => Тема начата: turbo от 26 Октября 2009, 22:00

Название: LLVM Compiler
Отправлено: turbo от 26 Октября 2009, 22:00
[size="3"]Новая версия набора компиляторов LLVM Compiler 2.6[/size]

После шести месяцев разработки анонсирован новый релиз 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), Unladen Swallow (реализация языка Python), LLVM-Lua, FlashCCompiler (средство для компиляции кода на языке Си в вид пригодный для выполнения в виртуальной машине Adobe Flash).

http://www.opennet.r...shtml?num=23985 (http://www.opennet.ru/opennews/art.shtml?num=23985)
Название: LLVM Compiler
Отправлено: Rubik от 07 Апреля 2011, 17:54
[size="3"]Релиз набора компиляторов LLVM 2.9 [/size]

После 6 месяцев разработки доступен (http://lists.cs.uiuc.edu/pipermail/llvm-announce/2011-April/000037.html) релиз проекта LLVM 2.9 (http://llvm.org/docs/ReleaseNotes.html) (Low Level Virtual Machine) - GCC совместимого инструментария (компиляторы, оптимизаторы и генераторы кода), компилирующего программы в промежуточный байт-код RISC подобных виртуальных инструкций (низкоуровневая виртуальная машина с многоуровневой системой оптимизации). Сгенерированный платформонезависимый псевдокод может быть преобразован при помощи JIT-компилятора в машинные инструкции непосредственно в момент выполнения программы.

В версию LLVM 2.9 включены наработки с реализацией расширенных методов оптимизиации и генерации кода (в частности, задействованы новые возможности современных ARM-систем), в Clang и libc++ улучшена поддержка стандарта C++'0x, значительно расширена функциональность отладчика LLDB (http://lldb.llvm.org/). Из новшеств также можно отметить:

По заявлению разработчиков LLVM 2.9 будет последним релизом серии 2.x. В версии 3.0 планируется отказаться от поддержки фронтэнда llvm-gcc в пользу Си/C++/Objective-C компилятора Clang (http://clang.llvm.org/) и GCC-плагина DragonEgg (http://dragonegg.llvm.org/). В настоящее время Clang является более оптимальным решением для сборки проектов на языке Си, а DragonEgg является хорошим решением для разработчиков, заинтересованных в интеграции LLVM в GCC.

Из параллельно развивающихся проектов, основанных на LLVM, можно отметить:

opennet.ru (http://www.opennet.ru/opennews/art.shtml?num=30161)