Представлен (http://lists.cs.uiuc.edu/pipermail/llvm-announce/2010-Octobe...) релиз проекта LLVM 2.8 (Low Level Virtual Machine) - GCC совместимого инструментария (компиляторы, оптимизаторы и генераторы кода), компилирующего программы в промежуточный байткод RISC подобных виртуальных инструкций (низкоуровневая виртуальная машина с многоуровневой системой оптимизации). Сгенерированный платформонезависимый псевдокод может быть преобразован при помощи JIT-компилятора в машинные инструкции непосредственно в момент выполнения программы.
В новой версии отмечено значительное увеличение поддержки языка C++ в компиляторе Сlang, в частности завершено добавление всех необходимых возможностей и C++ компилятор теперь вполне пригоден к использованию. Дополнительно отмечается присоединение к LLVM (не включены в состав релиза 2.8) двух больших подпроектов: библиотеки libc++ и отладчика LLDB.libc++ (http://libcxx.llvm.org/) представляет собой (http://www.opennet.me/opennews/art.sh...
URL: http://lists.cs.uiuc.edu/pipermail/llvm-announce/2010-Octobe...
Новость: http://www.opennet.me/opennews/art.shtml?num=28207
> Из параллельно развивающихся проектов, основанных на LLVM , можно отметитьЕщё Glasgow Haskell Compiler имеет LLVM backend
> Ещё Glasgow Haskell Compiler имеет LLVM backendна 11% по производительности отстающий от NGC и C бэкэндов того же GHC
А вот Девид тут http://blog.llvm.org/2010/05/glasgow-haskell-compiler-and-ll... пишет, что на 10% быстрее как минимум и на порядок меньше кода, чем NGC/C :)
Поздравляю всех с релизом!> Поддержка прямой записи объектных файлов (.o) из компилятора LLC (и clang);
Пока только для MacOS к сожалению.
Не только. ELF writer написан и для FreeBSD и собранное с его помощью ядро даже работает.
Это хорошо. И как по ощущениям, быстрее чем раньше работает?
> Это хорошо. И как по ощущениям, быстрее чем раньше работает?С чего бы? Это ж ELF writer, a не оптимизатор.
новый writer ( проект Machine Code ) реализован для MacOSX
http://blog.llvm.org/2010/04/intro-to-llvm-mc-project.html блог MC
С апреля прошло уже достаточно много времени :)
в апреле вышла 2.7
в блоге писали о целях для релиза 2.8впрочем вот что вышло
# The MachO file format support is now fully functional and works.
# The MC disassembler now fully supports ARM and Thumb. ARM assembler support is still in early development though.
# The X86 MC assembler now supports the X86 AES and AVX instruction set.
# Work on ELF and COFF object files and ARM target support is well underway, but isn't useful yet in LLVM 2.8. Please contact the llvmdev mailing list if you're interested in this.т.е. поддержка разных платформ у них сколько-нибудь реализована
хотя о поддержке чего-то кроме darwin не заявленоThe MC subproject has made great leaps in LLVM 2.8. For example, support for directly writing .o files from LLC (and clang) now works reliably for darwin/x86[-64] (including inline assembly support) and the integrated assembler is turned on by default in Clang for these targets. This provides improved compile times among other things.
забыли упомянуть что Gallium использует LLVM для полноскоростной программной прорисовки в отличие от обычного software rasterizer. и вроде бы на нём хотели делать что-то с shader'ами, но тут я не в курсе.
Gallium _опционально_ может использовать llvmвключается ключиком --enable-gallium-llvm , чего естественно в дистрибутивах, и даже в ебилдах не делают пока
Да что вы говорите? :)media-libs/mesa
Installed versions: 9999[1](06:44:39 05.10.2010)(classic gallium llvm..............
и ? ну я вот использую в своих ебилдах. и для git и для 7.9...а чтобы считалось, что "проект основан на llvm" надо его безальтернативно впилить ? ну наверное так - а то ведь llvm не "в основе" получается. но семантика не важна ибо суть в том, что llvm там используется и используется весьма эффективно, и на него будут перекладывать всё больше и больше задач. так что полезно не забывать об этом, "_опционально_" оно или нет.
> включается ключиком --enable-gallium-llvm
благодарствую, кэп!
LLDB говорите....
а как там на счет вразумительной отладки многопоточных программ? ;)
не обольщайтесь, lldb пока только для darwin/darwin64
как и libc++ , как и Machine Code
> не обольщайтесь, lldb пока только для darwin/darwin64
> как и libc++ , как и Machine Codeну так а хоть в принципе?
> ну так а хоть в принципе?проект молодой, статус реализованных возможностей тут http://lldb.llvm.org/status.html
> как и libc++ , как и Machine CodeА мужики-то не знают (c)
X86 backend использует MC для всех платформ сейчас (MachO, ELF, COFF), кроме этого MC уже используется в ARM и MSP430 backend'ах. Direct Object Code Emission более-менее работает на MachO, чуть хуже для ELF. COFF - WIP.
для FreeBSD в HEAD:SVN rev 213534 on 2010-10-07 20:31:07Z by dim
Upgrade Clang and LLVM to the 2.8 release. See here for release notes:
http://llvm.org/releases/2.8/docs/ReleaseNotes.html
Approved by: rpaulo (mentor)