Inguqulelo entsha ye-LLVM 9.0 sele ikhutshiwe kwaye ezi ziindaba zayo

LLVM

Emva kweenyanga ezintandathu zophuhliso ukumiliselwa kwenguqulelo entsha yeprojekthi ye-LLVM 9.0, esisisixhobo seGCC esihambelanayo (iikhomputha, izixhobo ezisebenza kakuhle kunye nabavelisi beekhowudi), edibanisa iinkqubo zibe yikhowudi encinci ephakathi ye-RISC-efana nemiyalelo ebonakalayo (umatshini okwinqanaba eliphantsi kunye nenkqubo yokusebenza okunamanqanaba amaninzi).

Yenzelwe ukwandisa ixesha lokudityaniswa, ixesha elibophayo, ixesha lokuphumeza nangaluphi na ulwimi lwenkqubo umsebenzisi afuna ukuyichaza. Kwenziwe okokuqala ukudibanisa C kunye no-C ++, Uyilo lwe-agnostic yolwimi lwe-LLVM, kunye nempumelelo yeprojekthi kuye kwavelisa iintlobo ngeentlobo zeelwimi, kubandakanya iNjongo-C, Fortran, Ada, Haskell, Java bytecode, Python, Ruby, ActionScript, GLSL, Clang, Rust, Gambas, nabanye.

I-pseudocode evelisiweyo inokuguqulwa kusetyenziswa umhlanganisi we-JIT kwimiyalelo yomatshini ngqo ngexesha lokwenziwa kwenkqubo.

Iimpawu ezintsha zeLLVM 9.0

Phakathi kwezinto ezintsha zeLLVM 9.0 fumana inkxaso ukususa ithegi yophuhliso yovavanyo kwiqonga leRISC-V, Inkxaso ye-C ++ ye-OpenCL.

Enye into entsha Kubonakala ukukwazi ukwahlula-hlula inkqubo kwiinxalenye ezilayishwe ngamandla kwi-LLD kunye nokumiliselwa kwe »asm goto» yokwakha esetyenziswe kwikhowudi ye-Linux kernel.

Ukongeza, kukwaqaqanjisiwe ukuba iLibc ++ ifike ixhasa i-WASI (Ujongano lweNkqubo yeWebhu yeWebhu), kunye ne-LLD yazisa ngenkxaso yokuqala ye-WebAssembly yokubopha okunamandla. Yongeze ukwenziwa kwegama elithile le-GCC »asm goto», ekuvumela ukuba utshintshe ukusuka kwibhloko eqokelelweyo emgceni uye kwithegi kwikhowudi ye-C.

Eli nqaku liyimfuneko ekwakheni i-kernel yeLinux kwi »CONFIG_JUMP_LABEL = y« imo ye-Clang usebenzisa ii-x86_64 iinkqubo. Ukujonga utshintsho olongezwe kwiinguqulelo ezidlulileyo, i-kernel yeLinux ngoku inokwakhiwa kwi-Clang yoyilo lwe-x86_64 (ngaphambili, yayixhaswa kuphela ngengalo, aarch64, ppc32, ppc64le kunye mips.

Inkxaso yemiyalelo ye-BTI yongezwa (Isalathi seThagethi yesebe) kunye nePAC (ikhowudi yokuNgqinisisa isiKhombisi) yoyilo lweAArch64. Inkxaso ephuculwe ngokubonakalayo yee-MIPS, i-RISC-V, kunye namaqonga e-PowerPC.

Kwakhona, Iiprojekthi ze-Android kunye ne-ChromeOS sele zitshintshele ekusebenziseni i-Clang ukwakha i-kernel kwaye uGoogle uvavanya i-Clang njengezona zixhobo zokuqala zokwakha iqonga leenkqubo zayo zeLinux.

Kwixesha elizayo, Ngexesha lokudityaniswa kernel, kuya kubakho ukusebenzisa ezinye izinto I-LLVM, kubandakanya i-LLD, llvm-objcopy, llvm-ar, llvm-nm, kunye ne-llvm-objdump.

Umsebenzi wokwahlula ulingo wongezwe kwilinki ye-LLD, evumela inkqubo ukuba yahlulwe ibe ngamacandelo amaninzi, ngalinye libekwe kwifayile eyahlukileyo ye-ELF. Eli nqaku likuvumela ukuba usebenze elona candelo lenkqubo, ekuya kuthi, njengoko kufuneka, lilayishe izinto eziseleyo kwinkqubo (umzekelo, unokukhetha umbonisi we-PDF owakhelweyo njengefayile eyahlukileyo, eya kuthi ikhutshelwe kuphela xa umsebenzisi uvula ifayile yePDF).

Kwelinye icala, uphuculo oluninzi ngasemva luyabonakala. yeX86, AArch64, ARM, SystemZ, MIPS, AMDGPU, kunye nePowerPC yoyilo.

Umzekelo, inkxaso ye-SVE2 kunye ne-MTE (Imemori yokuThengwa kweMemori) yongezwe kuyilo lwe-AArch64, inkxaso yoyilo lweArmv8.1-M kunye noyilo lweMVE longezwe kwi-ARM backend.

Kwimeko ye-AMDGPU, inkxaso yoyilo loyilo lwe-GFX10 yongezwa (Navi), okungagqibekanga kunikwe amandla okubiza umsebenzi kunye nokupasa i-DPP edityanisiweyo (iiNgcaciso zeDatha-ezifanayo).

I-LLDB debugger yazisa ngokuqaqanjiswa kombala wokulandela umkhondo ngasemva; yongezwe inkxaso ye-DWARF4 debug_types kunye ne-DWARF5 debug_info iibhloko;

I-llvm-objcopy kunye ne-llvm-strip eziluncedo zongeze inkxaso kwifomathi ye-COFF ephumeza iifayile kunye nezinto.

Umva wolwakhiwo lwe-RISC-V luzinzile, engasabekiyo njengovavanyo kwaye yakhiwe ngokungagqibekanga. Inkxaso epheleleyo yokuveliswa kwekhowudi ye-RV32I kunye ne-RV64I yemiyalelo yokuseta okwahlukileyo ngolwandiso lwe-MAFDC.

Umthombo: http://releases.llvm.org/


Shiya uluvo lwakho

Idilesi yakho ye email aziyi kupapashwa. ezidingekayo ziphawulwe *

*

*

  1. Inoxanduva lwedatha: I-AB Internet Networks 2008 SL
  2. Injongo yedatha: Ulawulo lwe-SPAM, ulawulo lwezimvo.
  3. Umthetho: Imvume yakho
  4. Unxibelelwano lwedatha: Idatha ayizukuhanjiswa kubantu besithathu ngaphandle koxanduva lomthetho.
  5. Ukugcinwa kweenkcukacha
  6. Amalungelo: Ngalo naliphi na ixesha unganciphisa, uphinde uphinde ucime ulwazi lwakho.