LLVM – платформа для распрацоўкі кампілятараў і тулчайнаў пад ліцэнзіяй Apache 2.0 з выключэннямі.
Некаторыя змены ў ляск:
-
Цяпер па змаўчанні кампіляцыя не запускаецца ў новым працэсе як раней.
-
Падтрымліваюцца канцэпты C++20.
-
Арыфметыка паказальнікаў у C і C++ дазваляецца толькі ў межах масіваў, у адпаведнасці са стандартамі. Дададзеныя адпаведныя праверкі ў Undefined Behavior Sanitizer.
-
Палепшана падтрымка OpenCL і OpemMP 5.0.
-
Паводзіны ў шэрагу выпадкаў набліжана да паводзін GCC.
Некаторыя агульныя змены ў LLVM:
-
Новыя intrinsics для генерацыі аптымізаваных вектарных інструкцый.
-
Значна пашыраны магчымасці міжпрацэдурнай аптымізацыі ў эксперыментальным фрэймворку Attractor.
-
Мноства паляпшэнняў у падтрымцы розных архітэктур (AArch64, ARM, MIPS, PowerPC, SystemZ, X86, WebAssembly, RISC-V).
А таксама розныя паляпшэнні ў libclang, clangd, clang-format, clang-tidy, Static Analyzer, LLDB.
Крыніца: linux.org.ru