1 сентября состоялся очередной и долгожданный релиз инструментария LLVM.
С момента предыдущего релиза в феврале 2015 произошли следующие значительные изменения:
- Реализована полная поддержка OpenMP 3.1 и ограниченная поддержка OpenMP 4.0.
- Поддержка компиляции скриптов в байткод BPF для дальнейшего исполнения в виртуальной машине ядра Linux eBPF. Для написания скриптов на языке C представлен фреймворк BCC.
- Новый C++ ORC JIT API для поддержки технологии On-Request compilation, идущий на смену MCJIT. ORC JIT более пригоден для тестирования и дальнейшего расширения возможностей, а так же обладает рядом функциональных преимуществ.
- Множество значительных улучшений в бэкэнде AMDGPU/R600. Для RadeonSI реализована поддержка OpenGL 4.1 в связке с Mesa 11.0.
- Механизмы SafeStack и CFI позволяют противодействовать ряду атак на исполняемые приложения.
- Значительные улучшения в поддержке архитектур MIPS и POWER8.
- Поддержка оптимизаций на основе профиля выполнения (PGO). Синтаксис флагов совместим с GCC (-fprofile-generate и т.д.)
Замеры производительности LLVM 3.7 в сравнении с GCC доступны на Phoronix.
Ознакомиться со статистикой коммитов можно на github.
>>> Подробности