I-LLVM 17.0 isivele ikhishiwe futhi lezi yizindaba zayo

Ilogo ye-LLVM

I-LLVM iwuhlaka lokuthuthukisa abahlanganisi kanye nokusiza ukwakha izilimi zokuhlela ezintsha nokuthuthukisa izilimi ezikhona.

Ngemuva kwezinyanga eziyisithupha zentuthuko Inguqulo entsha ye-LLVM 17.0 yethuliwe, lapho ukuthuthukiswa okuhlukahlukene, izinguquko, ukulungiswa kweziphazamisi futhi, ngaphezu kwakho konke, izici ezihlukahlukene ezibalulekile zisetshenziswe ku-Clang 17.0.

Kulabo abangayijwayele i-LLVM, kufanele wazi ukuthi lokhu ingumqambi ohambisana ne-GCC (abadidiyeli, izilungiseleli, nezikhiqizi zekhodi) ezihlanganisa izinhlelo zibe yibhithikhodi emaphakathi yokufundisa efana ne-RISC (umshini wezinga eliphansi onohlelo lokwenza amaleveli amaningi).

I-pseudocode ekhiqiziwe ingashintshwa yi-JIT compiler ibe imiyalelo yomshini ngesikhathi sokwenziwa kohlelo.

Izici ezintsha eziyinhloko ze-LLVM 17.0

Kule nguqulo entsha ye-LLVM 17.0 eyethulwa, kunezici ezihlukahlukene ezifanele okufanele zicatshangelwe, okungukuthi, isibonelo, ukuthuthukiswa kwe-backend ye-X86, kahle wengezeo ukusekelwa kwezandiso imfundo set bokwakha ISA SHA512, ISA SM3, ISA SM4 kanye ne-ISA AVX-VNNI-INT16.

Ngaphezu kwalokhu, ibuye igqamise i- ukuthuthuka ku- amakhono backend for izakhiwo I-RISC-V eziye zanda kakhulu, kusukela ungeze ukwesekwa kwephrosesa ye-sifive-x280.

Olunye ushintsho esingaluthola yi- Usekelo olusetshenzisiwe lwezandiso zephrosesa ye-XTH*, kanye nokuhambisana nezandiso LSX, LASX, LVZ kanye ne-LBT ISA emuva kwesakhiwo se-LoongArch.

Izingemuva ezithuthukisiwe ze-AArch64, i-ARM, iWebAssembly, i-MIPS, i-PowerPC, i-AMDGPU yezakhiwo, amakhono okuxhumanisa i-LLD anwetshiwe, futhi yengeza umyalo omusha "wolwazi lokubhalisa" kusilungisi sephutha se-LLDB ukuze sibonise lonke ulwazi olwaziwayo mayelana nerekhodi .

Mayelana nokuthuthukiswa kwe-Clang 17.0, kugqanyiswe ukuthi izici ezichazwe esikhathini esizayo C2x ejwayelekile njenge-bool, static_assert, aligns, alignof kanye namagama angukhiye we-thread_local asetshenzisiwe, kanye nekhono lokucacisa abakaki abayisikwele abangenalutho «{ } » ukuze kuqaliswe amanani aziro.

Ikhodio C inikeza ikhono lokudlulisa isisho esithi "goto". ngaphakathi kwamabhulokhi e-"asm" ngamathegi akhethwe ngokungaqondile, usekelo lwengezwe kusandiso esingu-C esivumela ukusetshenziswa kohlobo esikhundleni senkulumo njengohlelo lokuqala ku-"_Generic", ngaphezu kokuvumela izinkulumo ezingaguquki ngolimi C ukuthi zisebenzise izakhiwo, izinyunyana. namalungu afanayo amenyezelwe ngesibaluli se-"const".

Mayelana nentuthuko ehlobene nezinga le-C++20, kushiwo lokho manje Kuwo wonke amapulatifomu ngaphandle kweWindows, kukhona ukwesekwa okugcwele kwe-Coroutines, Ngaphezu kwalokho, izimfuneko ezengeziwe zemisebenzi yokuqhathanisa isisho esiqhubekayo seyenziwe.

Kuyagqanyiswa lokho manjeUkuhlukaniswa okulungile kwezifanekiso ze-lambda kuqinisekisiwe ecaciswe ngokushesha ngemva kwemingcele yesifanekiso futhi iqukethe okuguquguqukayo nohlobo oluncikile kubhulokhi. Igodlile ukusetshenziswa kwama-underscore akabili kuma-user literals futhi yanqanda ukusetshenziswa kwegama elingukhiye elithi "opharetha" ezincazelweni zomsebenzi ezinezihlonzi ezigodliwe egameni

Ngokuqondene ne ukuthuthukiswa okufanele kwenziwe okuhlobene nezinga le-C++23 , kushiwo ukuthi isesigabeni sokugcina sokugunyazwa yi-ISO, kusukela kushintshwe ububanzi bohlobo lokugcina lokubuyisela emisebenzini ye-lambda ukubuka izingwegwe kuqala bese kulandela umbhalo ozungezile.

Of ezinye izinguquko okugqamile:

  • Kwengezwe amandla okuchaza amalungu afanayo amaningi kusetshenziswa
  • Lapho kuhlanganiswa izinhlelo zokusebenza ze-C++ kusetshenziswa imodi yokwenza "-O0", ukukhiqizwa kwekhodi kwamakholi kuye kwathuthukiswa.
  • Kwengezwe usekelo lokuhlukahluka kwemvelo NO_COLOR ukuze kukhubazwe umbala ophumayo.
  • Ukuhlaziya okuqinile kanye namathuluzi okuxilonga anwetshwe ngokuphawulekayo, isibonelo, ukuhlolwa kokuchichima kwenombolo entsha esayiniwe, ukulungiswa kwesifanekiso se-lambda, izinkulumo ze-constexpr, ukuqhathanisa okuyizikhomba ezingenalutho, ukusetshenziswa kwezakhiwo ezingakaqalwa, njll.
  • Umtapo wezincwadi we-Libc++ uyaqhubeka nokusebenzisa ukusekelwa kwamakhono wezindinganiso ze-C++20 kanye ne-C++23, futhi umsebenzi usuqalile futhi ukunikeza ukusekela kokucaciswa kwe-C++26.
  • Ukwesekwa okwengeziwe kwenkulumo ethi “idinga i-cplusplus23” ezincazelweni zokuxhumana phakathi kwamafayela anhlokweni namamojula.

Okokugcina, uma ungathanda ukwazi okwengeziwe ngakho, ungathintana nemininingwane ku isixhumanisi esilandelayo.


Okuqukethwe yi-athikili kunamathela ezimisweni zethu ze izimiso zokuhlelela. Ukubika iphutha chofoza lapha.

Yiba ngowokuqala ukuphawula

Shiya umbono wakho

Ikheli lakho le ngeke ishicilelwe. Ezidingekayo ibhalwe nge *

*

*

  1. Unomthwalo wemfanelo ngedatha: AB Internet Networks 2008 SL
  2. Inhloso yedatha: Lawula Ugaxekile, ukuphathwa kwamazwana.
  3. Ukusemthethweni: Imvume yakho
  4. Ukuxhumana kwemininingwane: Imininingwane ngeke idluliselwe kubantu besithathu ngaphandle kwesibopho esisemthethweni.
  5. Isitoreji sedatha: Idatabase ebanjwe yi-Occentus Networks (EU)
  6. Amalungelo: Nganoma yisiphi isikhathi ungakhawulela, uthole futhi ususe imininingwane yakho.