LLVM – ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€ΠΈ ΠΈ инструмСнтални Π²Π΅Ρ€ΠΈΠ³ΠΈ ΠΏΠΎ Π»ΠΈΡ†Π΅Π½Π· Apache 2.0 с ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ.


Някои ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² Схтя:

  • Π‘Π΅Π³Π°, ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅, ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π΅ Π·Π°ΠΏΠΎΡ‡Π²Π° Π² Π½ΠΎΠ² процСс, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΈ.

  • ΠŸΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° сС C++20 ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ.

  • АритмСтиката Π½Π° указатСля Π² C ΠΈ C++ Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Π° само Π² Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° масиви, спорСд стандартитС. Π”ΠΎΠ±Π°Π²Π΅Π½ΠΈ са подходящи ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ към Π΄Π΅Π·ΠΈΠ½Ρ„Π΅ΠΊΡ‚Π°Π½Ρ‚Π° Π·Π° Π½Π΅Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Π½ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅.

  • ΠŸΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° OpenCL ΠΈ OpemMP 5.0.

  • ΠŸΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π² някои случаи Π΅ Π±Π»ΠΈΠ·ΠΊΠΎ Π΄ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° GCC.

Някои ΠΎΠ±Ρ‰ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² LLVM:

  • Нови Π²ΡŠΡ‚Ρ€Π΅ΡˆΠ½ΠΈ Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈ Π·Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½ΠΈ Π²Π΅ΠΊΡ‚ΠΎΡ€Π½ΠΈ инструкции.

  • Π’ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈΡ‚Π΅ Π·Π° ΠΌΠ΅ΠΆΠ΄ΡƒΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Π° оптимизация Π² СкспСримСнталната Ρ€Π°ΠΌΠΊΠ° Attractor са Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈ.

  • Много подобрСния Π² ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΈ (AArch64, ARM, MIPS, PowerPC, SystemZ, X86, WebAssembly, RISC-V).

ΠšΠ°ΠΊΡ‚ΠΎ ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ подобрСния Π² libclang, clangd, clang-format, clang-tidy, Static Analyzer, LLDB.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: linux.org.ru

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€