URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 76130
[ Назад ]

Исходное сообщение
"Релиз набора компиляторов LLVM 2.9"

Отправлено opennews , 07-Апр-11 13:01 
После 6 месяцев разработки доступен (http://lists.cs.uiuc.edu/pipermail/llvm-announce/2011-April/...) релиз проекта 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-форнтэнде Clang, улучшена ...

URL: http://llvm.org/docs/ReleaseNotes.html#whatsnew
Новость: http://www.opennet.me/opennews/art.shtml?num=30161


Содержание

Сообщения в этом обсуждении
"Релиз набора компиляторов LLVM 2.9"
Отправлено klalafuda , 07-Апр-11 13:01 
Как их C++ с boost-ом? Дружит?

"Релиз набора компиляторов LLVM 2.9"
Отправлено Онаним , 07-Апр-11 13:18 
Дружит http://blog.llvm.org/2010/05/clang-builds-boost.html

"Релиз набора компиляторов LLVM 2.9"
Отправлено klalafuda , 07-Апр-11 13:21 
> Дружит http://blog.llvm.org/2010/05/clang-builds-boost.html

Ну что же, молодцы, молодцы. Такой задел уже вполне себе похож на что-то, что можно реально использовать.


"Релиз набора компиляторов LLVM 2.9"
Отправлено Аноним , 07-Апр-11 13:07 
когда я смогу скомпилировать этим ядро?

"Релиз набора компиляторов LLVM 2.9"
Отправлено Онаним , 07-Апр-11 13:15 
Наверное когда найдется свободнное время для этого
http://lists.cs.uiuc.edu/pipermail/cfe-dev/2010-October/0117...

"Релиз набора компиляторов LLVM 2.9"
Отправлено bav , 07-Апр-11 13:16 
Ждешь избавления от 12309?

"Релиз набора компиляторов LLVM 2.9"
Отправлено Аноним , 07-Апр-11 13:23 
Смотря какое ядро, фрюшное - хоть щас.

"Релиз набора компиляторов LLVM 2.9"
Отправлено Vitaly_loki , 07-Апр-11 13:26 
Линукс написан с использованием GCC-специфичных особенностей. А вот FreeBSD собирается им влегкую

"Релиз набора компиляторов LLVM 2.9"
Отправлено JL2001 , 07-Апр-11 13:45 
кто пробовал LDC для D2 - им можно пользоваться (хотяб для простых программ) ?

"Релиз набора компиляторов LLVM 2.9"
Отправлено Алексей Прохин , 07-Апр-11 13:54 
LDC2 проходит почти все тесты, идущие в комплекте с dmd и phobos, на linux x86 и x86_64.

"Релиз набора компиляторов LLVM 2.9"
Отправлено Frankl , 07-Апр-11 14:32 
припоминается баг, или ошибка, когда компилятору нужно было указывать дополнительные пути к библиотекам. Хотя в /etc/ldc.conf все было прописано. И что удивительно, на хелловорде не надо было ничего, а что-то сложнее - надо было. Не разбирался особо в чем дело.

"Релиз набора компиляторов LLVM 2.9"
Отправлено Anonymousapiens , 07-Апр-11 14:07 
>Unladen Swallow

Он уже год как помер


"Релиз набора компиляторов LLVM 2.9"
Отправлено andy , 07-Апр-11 16:28 
Сильвия, тебе надо выпустить новую версию Wyrmtail

"Релиз набора компиляторов LLVM 2.9"
Отправлено hizel , 07-Апр-11 17:59 
хм, похоже clang поддерживает Objective C 2.0 это ок, а из нормальных runtime для него только gnustep ? gui не интересуют

"Релиз набора компиляторов LLVM 2.9"
Отправлено Онаним , 07-Апр-11 19:14 
Есть еще Cocotron, не знаю на сколько он нормальный.

"Релиз набора компиляторов LLVM 2.9"
Отправлено xxx , 07-Апр-11 18:04 
>Определение циклов аналогичных по действию функциям memset и memcpy и автоматическая замена цикла на вызов функции из libc (реализации memset и memcpy в libc как правило оптимизированы);

Спорная какая-то фича.


"Релиз набора компиляторов LLVM 2.9"
Отправлено Аноним , 07-Апр-11 22:32 
Вот-вот. libc libc рознь, я бы предпочёл встраивание наиболее эффективного кода inplace.

"Релиз набора компиляторов LLVM 2.9"
Отправлено Сергей , 08-Апр-11 09:48 
а он и встраевается инплайс, вот только из libc

"Релиз набора компиляторов LLVM 2.9"
Отправлено Winrar777 , 08-Апр-11 12:41 
Мне вот непонятна следующая вещь: если компилятор LLVM компилирует в промежуточный байт-код, то как на нём вообще возможно собирать linux-ядро? Или на нём всё-таки возможна компиляция в машинные коды?
Проясните плиз, кто шарит

"Релиз набора компиляторов LLVM 2.9"
Отправлено hizel , 08-Апр-11 12:44 
> Мне вот непонятна следующая вещь: если компилятор LLVM компилирует в промежуточный байт-код,
> то как на нём вообще возможно собирать linux-ядро? Или на нём
> всё-таки возможна компиляция в машинные коды?
> Проясните плиз, кто шарит

из байт-кода можно выхлопнуть нативный код для целевой платформы


"Релиз набора компиляторов LLVM 2.9"
Отправлено Winrar777 , 08-Апр-11 12:47 
А можно ли при этом просто собрать на clang программу на с++, при этом слинковав её с библиотеками, которые собраны gcc? Или придётся ещё и все библиотеки тоже пересобирать?

"Релиз набора компиляторов LLVM 2.9"
Отправлено hizel , 08-Апр-11 13:45 
похоже да, gcc c++ abi поддерживается судя по:

Clang C++ able to parse GCC 4.2 libstdc++ and generate working code for non-trivial programs[8] and was able to compile itself
http://en.wikipedia.org/wiki/Clang#Status_history


"Релиз набора компиляторов LLVM 2.9"
Отправлено anonymous , 08-Апр-11 17:23 
> Определение циклов аналогичных по действию функциям memset и memcpy и автоматическая замена цикла на вызов функции из libc

спасибо, не надо. если я пишу такой цикл — я знаю, зачем я его пишу и почему не зову функцию из библиотеки. что за манера вообще — делать то, что не просили? оптимизируйте код на здоровье, но зачем же левые функции вызывать при этом?


"Релиз набора компиляторов LLVM 2.9"
Отправлено Andrey Mitrofanov , 08-Апр-11 18:19 
> спасибо, не надо. если я пишу такой цикл — я знаю, зачем

Да, не за что. Найди ключ, отключающий это, в man-е и вставь его в свой Makefile, autoconf или куда у тебя там где, да. Проблемы-то, полблемы...


"Релиз набора компиляторов LLVM 2.9"
Отправлено anonymous , 08-Апр-11 18:25 
> Да, не за что. Найди ключ, отключающий это, в man-е и вставь
> его в свой Makefile, autoconf или куда у тебя там где,
> да. Проблемы-то, полблемы…

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