Iyo itsva vhezheni yeLLVM 9.0 yakatoburitswa uye idzi ndidzo nhau dzayo

LLVM

Mushure memwedzi mitanhatu yekukura kuvhurwa kweshanduro nyowani yeLLVM 9.0 chirongwa chakapihwa, inova GCC inoenderana toolkit (makomputa, optimizers uye kodhi jenareta), iyo inounganidza zvirongwa kuita yepakati bit kodhi yeRISC-senge chaiyo mirairo (muchina wepasi-padanho muchina une yakawanda-nhanho optimization system).

Iyo yakagadzirirwa kukwidziridza nguva yekuunganidza, iyo nguva inosunga, iyo yekuuraya nguva mune chero chirongwa chemutauro uyo mushandisi anoda kutsanangura. Pakutanga kuitiswa kuumbiridza C uye C ++, Mutauro weLLVM wemagnostic dhizaini, uye kubudirira kweprojekti yakabereka mitauro yakasiyana siyana, Zvinosanganisira Chinangwa-C, Fortran, Ada, Haskell, Java bytecode, Python, Ruby, ActionScript, GLSL, Clang, Rust, Gambas nevamwe.

Iyo inogadzirwa yemanyepo-kodhi inogona kushandurwa uchishandisa iyo JIT compiler mumushini mirairo zvakananga panguva yekuitwa kwechirongwa.

Makuru matsva maficha eLLVM 9.0

Pakati pezvinhu zvitsva zveLLVM 9.0 tsvaga rutsigiro kubvisa yekuyedza yekuvandudza tag kubva kuRISC-V chikuva, C ++ inotsigira OpenCL.

Chimwe chitsva icho kwakatanhamara kugona kupatsanura chirongwa ichi muzvikamu zvine simba zvine simba muLLD uye kuiswa kwe »asm goto» kuvaka kunoshandiswa muLinux kernel kodhi.

Uye zvakare, zvinoratidzwa zvakare kuti Libc ++ yakasvika nerutsigiro rweWASI (WebAssembly System Interface), uye LLD yakaunza rutsigiro rwekutanga kune yakasimba WebAssembly inosunga. Yakawedzera kuiswa kweiyo GCC-yakatarwa kutaura »asm goto», iyo inobvumidza iwe kuti uchinje kubva kune yakaunganidzwa inline block kuenda kuC tag.

Ichi chinhu chakakosha kuvaka Linux kernel mu »CONFIG_JUMP_LABEL = y« modhi uchishandisa Clang pane x86_64 masystem. Tichifunga nezve shanduko dzakawedzerwa mushanduro dzakapfuura, iyo Linux kernel ikozvino inogona kuvakwa muClang yezvivakwa zvex86_64 (kare, yaingotsigirwa neruoko, aarch64, ppc32, ppc64le uye mips maumbirwo.

Tsigiro yemirairo yeBTI yakawedzerwa (Bazi Target Chinongedzo) uye PAC (Pointer Yekusimbisa Kodhi Code) yeAArch64 kuvaka. Yakanyanya kuvandudzwa rutsigiro rweMIPI, RISC-V, uye PowerPC mapuratifomu.

Uyewo, Mapurojekiti eApple uye ChromeOS akatoshandura kushandisa Clang kuvaka kernel uye Google iri kuyedza Clang seyakanyanya kuvaka mapuratifomu emakwenzi ayo anoshanda maLinux masisitimu.

Munguva yemberi, panguva yekuumbwa kwekernel, zvinokwanisika kushandisa zvimwe zvinhu LLVM, kusanganisira LLD, llvm-objcopy, llvm-ar, llvm-nm, uye llvm-objdump.

Basa rekuyedza rekuparadzanisa rakawedzerwa kune iyo LLD linker, iyo inobvumidza chirongwa kuti chigovaniswe muzvikamu zvakawanda, chimwe nechimwe chayo chinoiswa mune rakasiyana ELF faira. Iyi ficha inokutendera kuti umhanye chikamu chikuru chechirongwa, icho, pazvinenge zvichidikanwa, kutakura zvinhu zvasara mukuita (semuenzaniso, unogona kusarudza yakavakirwa-muPDF muoni sefaira rakasiyana, iro rinotorwa pasi chete kana mushandisi anovhura iyo faira PDF).

Kune rimwe divi, izvo zvakawanda zvinovandudzwa mumashure zvinomirawo pachena yeX86, AArch64, ARM, SystemZ, MIPS, AMDGPU, uye mapurani ePowerPC.

Semuenzaniso, rutsigiro rweSVE2 uye MTE (Memory Tagging Extensions) mirairo yakawedzerwa kune iyo AArch64 yekuvakisa, rutsigiro rweArmv8.1-M dhizaini uye iyo MVE yekuvakisa yakawedzerwa kune iyo ARM backend.

Muchiitiko che AMDGPU, kutsigirwa kweiyo GFX10 yekuvakisa kwakawedzerwa (Navi), iyo yekumisikidza inogoneswa kukumbira basa uye kupfuudza iyo yakasanganiswa yakasanganiswa DPP (Dhata Primitives-Parallel).

Iyo LLDB debugger yakaunza kuratidzwa kwemavara enzira kumashure. yakawedzera rutsigiro rweDWARF4 debug_types uye DWARF5 debug_info block;

Iyo llvm-objcopy uye llvm-strip zvinoshandiswa zvakawedzera rutsigiro rweCOFF fomati inogadziriswa mafaira uye zvinhu.

Kudzosera kumashure kweRISC-V kuvaka kwakadzikama, iyo isisiri kumira seyedzo uye inovakwa nekutadza. Rutsigiro ruzere rwekugadzira kodhi yeiyo RV32I uye RV64I kuraira kumisikidza zvakasiyana ne MAFDC ekuwedzera.

mabviro: http://releases.llvm.org/


Iva wekutanga kutaura

Siya yako yekutaura

Your kero e havazobvumirwi ichibudiswa. Raida minda anozivikanwa ne *

*

*

  1. Inotarisira data: AB Internet Networks 2008 SL
  2. Chinangwa cheiyo data: Kudzora SPAM, manejimendi manejimendi.
  3. Legitimation: Kubvuma kwako
  4. Kutaurirana kwedata
  5. Dhata yekuchengetedza: Dhatabhesi inobatwa neOccentus Networks (EU)
  6. Kodzero: Panguva ipi neipi iwe unogona kudzora, kupora uye kudzima ruzivo rwako