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