LINUX.ORG.RU

Вышел LLVM 2.2

 ,


0

0

LLVM -- это оптимизирующий компилятор из C, C++ и других языков в низкоуровневое представление, имеющее много общего с системой команд RISC-процессоров, а также трансляторы (статические и для преобразования "на лету") из этого промежуточного представления в команды обычных процессоров. LLVM поддерживает эффективную оптимизацию на этапах компиляции, компоновки (в том числе между процедурами) и выполнения, оставаясь "прозрачным" для разработчиков и сохраняя совместимость с существующими скриптами сборки.

Новое в версии 2.2:

  • генерация кода для процессоров Cell
  • экспериментальная поддержка преобразования Ada и FORTRAN через gcc-backend в промежуточное представление
  • поддержка типа long double на x86/x86_84 (80 бит) и Darwin PPC/PPC64 (128 бит)
  • поддержка более чем одного адресного пространства
  • в комплект поставки включены учебные руководства

>>> Подробности

★★★★★

Проверено: Shaman007 ()

Re: Вышел LLVM 2.2

феерично

anonymous ()

Re: Вышел LLVM 2.2

метка "коПМиляторы" - это сильно :)

anonymous ()
Ответ на: Re: Вышел LLVM 2.2 от anonymous

Re: Вышел LLVM 2.2

Кто-нибудь пользовал? Какие впечатления?

dpkg ★★★★ ()

Re: Вышел LLVM 2.2

не понял, а что с этим низкоуровневым представлением делать?

xargs ★★★ ()

Re: Вышел LLVM 2.2

>> поддержка типа long double на x86/x86_84 (80 бит) и Darwin PPC/PPC64 (128 бит)

А long long double сколько еще ждать ? и еще версия 2.2 ...

mesanei ()
Ответ на: Re: Вышел LLVM 2.2 от xargs

Re: Вышел LLVM 2.2

> а что с этим низкоуровневым представлением делать

генерировать из других языков (например, из языка шейдеров OpenGL, как это будет делать следующая версия Mesa), а потом переводить в код x86

AEP ★★★★★ ()
Ответ на: Re: Вышел LLVM 2.2 от AEP

Re: Вышел LLVM 2.2

> а потом переводить в код x86

Или не x86.

"static back-ends for the X86, X86-64, PowerPC 32/64, ARM, Thumb, IA-64, Alpha and SPARC architectures, a back-end which emits portable C code, and a Just-In-Time compiler for X86, X86-64, PowerPC 32/64 processors."

naryl ★★★★★ ()
Ответ на: Re: Вышел LLVM 2.2 от mesanei

Re: Вышел LLVM 2.2

> А long long double сколько еще ждать ? и еще версия 2.2 ...

А нахрена?

guitarist ★★ ()

Re: Вышел LLVM 2.2

Что за x86_84?

anonymous ()
Ответ на: Re: Вышел LLVM 2.2 от guitarist

Re: Вышел LLVM 2.2

>А нахрена? А чтобы точнее PI показывать :)

vitroot ★★ ()
Ответ на: Re: Вышел LLVM 2.2 от naryl

Re: Вышел LLVM 2.2

frontend'ы есть не только для C/C++, но и для Objective C, Ada, Fortran, Python, Stacker, Java и Scheme. В разработке LLVM D Compiler. Может есть еще для чего...

naryl ★★★★★ ()

Re: Вышел LLVM 2.2

А что, компилеры в нативный код нынче уже не в моде? Лавры дот-нета спать не дают?

Alphaer ()
Ответ на: Re: Вышел LLVM 2.2 от anonymous

Re: Вышел LLVM 2.2

Шоман, ну осиль уже spellchecker к браузеру прикрутить!

anonymous ()

Re: Вышел LLVM 2.2

Почему в новости не указана лицензия?! Мне что поссылкам ходить?! Совсем ньюсмейкеры охренели!

anonymous ()
Ответ на: Re: Вышел LLVM 2.2 от anonymous

Re: Вышел LLVM 2.2

> Почему в новости не указана лицензия?! Мне что поссылкам ходить?! Совсем ньюсмейкеры охренели!

есть в репозитории убунты. Следовательно, по крайней мере, GPL-совместимая

Joe_Bishop ()
Ответ на: Re: Вышел LLVM 2.2 от naryl

Re: Вышел LLVM 2.2

> frontend'ы есть не только для C/C++, но и для Objective C, Ada, Fortran, Python, Stacker, Java и Scheme.

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

Хочу собраться Eclipse для Cell :D

Aceler ★★★★★ ()
Ответ на: Re: Вышел LLVM 2.2 от naryl

Re: Вышел LLVM 2.2

> frontend'ы есть не только для C/C++, но и для Objective C, Ada, Fortran, Python, Stacker, Java и Scheme.

Лучше бы ты схему не вспоминал. Мало того, что сам компилятор - на mzscheme, так ещё реализовано настолько "узкое" подмножество языка, что о том чтобы сам себя сделал можно и не мечтать...

И к тому-же, данная "схема" не типизирована - итог: "в сад"!

yyk ★★★★★ ()

Re: Вышел LLVM 2.2

А есть сравнение производительности с gcc?

WFrag ★★★★ ()
Ответ на: Re: Вышел LLVM 2.2 от WFrag

Re: Вышел LLVM 2.2

Поищи - попадаются. Как сравнение скорости компиляции, так и выполнения полученной проги. По обоим параметрам llvm вроде впереди (а иначе зачем бы результат публиковать :), но у него есть один существенный минус: заточка под него большого проекта - всё равно что под отдельную платформу.

yyk ★★★★★ ()

Re: Вышел LLVM 2.2

А на нем КС работает?

anonymous ()
Ответ на: Re: Вышел LLVM 2.2 от Alphaer

Re: Вышел LLVM 2.2

> А что, компилеры в нативный код нынче уже не в моде? Лавры дот-нета спать не дают?

Не совсем корректное сравнение. И Сановский и Микро$офтовский байткоды интерпретируются или JIT компилируются. Очень редко AOT компилируются. Они не предназначены для AOT компиляции. LLVM не просто так назвали Low Level VM. Прежде всего были написаны компиляторы из LLVM в машинный язык, а потом уже VM с JIT Compiler'ом.

naryl ★★★★★ ()
Ответ на: Re: Вышел LLVM 2.2 от naryl

Re: Вышел LLVM 2.2

> Прежде всего были написаны компиляторы из LLVM в машинный язык, а потом уже VM с JIT Compiler'ом.

В результате чего llvm чаще используется как альтернативный си-компилятор, а именно vm почти не используется - библиотека "из коробки", мягко говоря, _очень скромная_. И это таки получаются "два разных си".

yyk ★★★★★ ()
Ответ на: Re: Вышел LLVM 2.2 от yyk

Re: Вышел LLVM 2.2

> библиотека "из коробки", мягко говоря, _очень скромная_

Нужно дать ему немного времени на развитие. Повезет - все будет. Не повезет - gcc не так уж плох.

naryl ★★★★★ ()
Ответ на: Re: Вышел LLVM 2.2 от anonymous

Re: Вышел LLVM 2.2

> Шоман, ну осиль уже spellchecker к браузеру прикрутить!

Ты что! Ты разве не знал, что настраивать что-то под МакОсью неджобсоугодно? А уж тем более, "прикручивать". Этим только красноглазые линуксойды-нищеброды занимаются :-)

annoynimous ★★★★★ ()
Ответ на: Re: Вышел LLVM 2.2 от Alphaer

Re: Вышел LLVM 2.2

>А что, компилеры в нативный код нынче уже не в моде? Лавры дот-нета спать не дают?

Ты когда-нибудь удосуживался выяснить, как работают оптимизирующие компиляторы? Да тот же GCC? Так вот, значительная часть оптимизации происходит на уровне p-кода.

AsphyX ★★★ ()

Re: Вышел LLVM 2.2

Плядь, мало того что новости вечно с ошибками, теперь еще и теги

Orlangoor ★★★★★ ()
Ответ на: Re: Вышел LLVM 2.2 от AsphyX

Re: Вышел LLVM 2.2

> Ты когда-нибудь удосуживался выяснить, как работают оптимизирующие компиляторы? Да тот же GCC? Так вот, значительная часть оптимизации происходит на уровне p-кода.

Не-а :D P-код - это код абстрактной машины, а оптимизация в GCC производилась раньше над RTL (который _не является_ P-кодом), а сейчас - над GENERIC/GIMPLE, который тоже не является P-кодом (это древовидное представление программы, AFAIK).

tailgunner ★★★★★ ()

Re: Вышел LLVM 2.2

вещага так ниче, но вот какого х.. она не LGPL, библиотека же. Придурки. зы. на самом деле ее мало кто пользует. разве что в эппл.

HP ()

Re: Вышел LLVM 2.2

так, как я понимаю, llvm можно рассматривать как c-компилятор, со своим оптимизатором. а где бы бенчи результатов компиляции llvm vs. gcc посмотреть?

dmiceman ★★★★★ ()
Ответ на: Re: Вышел LLVM 2.2 от naryl

Re: Вышел LLVM 2.2

> Нужно дать ему немного времени на развитие. Повезет - все будет. Не повезет - gcc не так уж плох.

Так речь не о си-компиляторе, а о vm как кросс-платформе для конечных приложений, а не составляющей самого компилятора. Без либ vm - 0. А развития именно vm-ных либ я и не наблюдаю.

yyk ★★★★★ ()
Ответ на: Re: Вышел LLVM 2.2 от annoynimous

Re: Вышел LLVM 2.2

> Ты разве не знал, что настраивать что-то под МакОсью неджобсоугодно? А уж тем более, "прикручивать"

:) в Mac OS X проверка орфографии в текстовых элементах (контролах) вообще-то изкаропки :)

Korwin ★★★ ()
Ответ на: Re: Вышел LLVM 2.2 от yyk

Re: Вышел LLVM 2.2

>По обоим параметрам llvm вроде впереди (а иначе зачем бы результат публиковать :), но у него есть один существенный минус: заточка под него большого проекта - всё равно что под отдельную платформу.

Хм, а почему его нельзя рассматривать как альтернативный gcc компилятор (если всякие фишечки VM не использовать, просто компилить в нативный код)?

WFrag ★★★★ ()
Ответ на: Re: Вышел LLVM 2.2 от annoynimous

Re: Вышел LLVM 2.2

под макосью спеллчекер уже прикручен ко всем кокоа-программам из коробки (в том числе и к сафари), ничего прикручивать не надо, этим только красноглазые линуксойды-нищеброды занимаются

anonymous ()

Re: Вышел LLVM 2.2

что-то сильно большой у них список Known problems для релиза с номером 2.2..

UrbanSerj ()
Ответ на: Re: Вышел LLVM 2.2 от WFrag

Re: Вышел LLVM 2.2

> Хм, а почему его нельзя рассматривать как альтернативный gcc компилятор (если всякие фишечки VM не использовать, просто компилить в нативный код)?

Почему нельзя - именно так чаще всего и используют :)

yyk ★★★★★ ()
Ответ на: Re: Вышел LLVM 2.2 от yyk

Re: Вышел LLVM 2.2

>Почему нельзя - именно так чаще всего и используют :)

Тогда непонятно, зачем затачивать? У него каких-то фич не хватает или реализованы по-другому, нежели в gcc?

WFrag ★★★★ ()

Re: Вышел LLVM 2.2

надеюсь лучшие идеи войдут в gcc

xtron ()
Ответ на: Re: Вышел LLVM 2.2 от xtron

Re: Вышел LLVM 2.2

> надеюсь лучшие идеи войдут в gcc

Тогда это уже будет не gcc, а gllvm.

ИМХО llvm - шаг в правильном направлении, а gcc - топтание на месте.

naryl ★★★★★ ()
Ответ на: Re: Вышел LLVM 2.2 от naryl

Re: Вышел LLVM 2.2

были же всякие EGCS которые потом слились с gcc, надеюсь и тут обкатают какие-то вещи и преобразуют gcc, идея то вроде верная

xtron ()
Ответ на: Re: Вышел LLVM 2.2 от WFrag

Re: Вышел LLVM 2.2

> Тогда непонятно, зачем затачивать? У него каких-то фич не хватает или реализованы по-другому, нежели в gcc?

У него "окружение" тоже собственное (линковщик и т.д.) и всё это вкупе не 100% совместимо с gcc. Как результат - "в лоб" большие программы не собираются. Посему каждый отдельный случай сборки того или иного проекта с помощью llvm на их форуме встречается с большой радостью.

yyk ★★★★★ ()
Ответ на: Re: Вышел LLVM 2.2 от WFrag

Re: Вышел LLVM 2.2

В LLVM обещали interprocedural optimization, которую трудно делать. если окружение в коде целевой платформы и не может модифицироваться во время исполнения программы. В LLVM окружение находится в промжуточном предствлении, которое может быстро JIT-компилироваться в машиный код (отсюда и VM). IO дает очень неплохой выигрыш в производительности.

Вообще, LLVM задумывался как framework для разработки алгоритмов оптимизации.

aist1 ★★ ()
Ответ на: Re: Вышел LLVM 2.2 от anonymous

Re: Вышел LLVM 2.2

> под макосью спеллчекер уже прикручен ко всем кокоа-программам из коробки (в том числе и к сафари), ничего прикручивать не надо, этим только красноглазые линуксойды-нищеброды занимаются

Я угадал, я угадал! :-)

Что, и на двух языках проверяет?

annoynimous ★★★★★ ()
Ответ на: Re: Вышел LLVM 2.2 от Korwin

Re: Вышел LLVM 2.2

> :) в Mac OS X проверка орфографии в текстовых элементах (контролах) вообще-то изкаропки :)

Лучше бы она была из черепной каропки юзера.

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.