LLVM – platform voor het ontwikkelen van compilers en toolchains onder licentie Apache 2.0 met uitzonderingen.
Enkele wijzigingen in kletteren:
Nu start de compilatie standaard niet in een nieuw proces zoals voorheen.
-
Ondersteund C++20-concepten.
Pointer-rekenkunde in C en C++ is volgens de standaarden alleen toegestaan binnen arrays. Passende controles toegevoegd aan Undefined Behavior Sanitizer.
Verbeterde ondersteuning voor OpenCL en OpemMP 5.0.
Het gedrag ligt in sommige gevallen dicht bij het gedrag van GCC.
Enkele algemene wijzigingen in LLVM:
Nieuwe intrinsiek voor het genereren van geoptimaliseerde vectorinstructies.
De mogelijkheden van interprocedurele optimalisatie in het experimentele Attractor-framework zijn aanzienlijk uitgebreid.
Veel verbeteringen in ondersteuning voor verschillende architecturen (AArch64, ARM, MIPS, PowerPC, SystemZ, X86, WebAssembly, RISC-V).
Evenals verschillende verbeteringen in libclang, clangd, clang-format, clang-tidy, Static Analyzer, LLDB.
Bron: linux.org.ru
