Π Π΅Π»ΠΈΠ· Π½Π°Π±ΠΎΡ€Π° компиляторов LLVM 9.0

ПослС ΠΏΠΎΠ»ΡƒΠ³ΠΎΠ΄Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π±Ρ‹Π» Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½ Ρ€Π΅Π»ΠΈΠ· ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° LLVM 9.0 (Low Level Virtual Machine) — GCC-совмСстимого инструмСнтария (компиляторы, ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ‚ΠΎΡ€Ρ‹ ΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΊΠΎΠ΄Π°), ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ псСвдокод RISC-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… инструкций (Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня с ΠΌΠ½ΠΎΠ³ΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²ΠΎΠΉ систСмой ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ). Π£ сгСнСрированного псСвдокода Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ прСобразования ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ JIT-компилятора Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Π΅ инструкции нСпосрСдствСнно Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Из Π½ΠΎΠ²Ρ‹Ρ… возмоТностСй LLVM 9.0 отмСчаСтся обСспСчСниС готовности Ρ†Π΅Π»Π΅Π²ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ RISC-V, рСализация C++ для OpenCL, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° динамичСски ΠΏΠΎΠ΄Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΡ‹Π΅ части Π² LLD ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° конструкции «asm goto», ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ Π² ΠΊΠΎΠ΄Π΅ ядра Linux. Π’ libc++ стал ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ WASI (WebAssembly System Interface), Π° Π² LLD появилась Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ динамичСского связывания WebAssembly.

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

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ