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