I-LLVM 12.0 sele ikhutshiwe kwaye ezi ziindaba zayo

LLVM

Emva kweenyanga ezintandathu zophuhliso ukumiliselwa kwenguqulelo entsha yeprojekthi ye-LLVM 12.0 kuzisiwe I-GCC (iicompiler, Optimizers, kunye neeKhowudi zeeJenereyitha) ziyahambelana ezidibanisa iinkqubo zibe yibhitikhadi ephakathi yemiyalelo ebonakalayo efana neRISC (umatshini okwinqanaba elisezantsi kunye nenkqubo yokusebenza okuphezulu).

Kule nguqulo intsha Singafumana uphuculo olwahlukeneyo kunye neendaba, apho sinokuqaqambisa umsebenzi omtsha wophawu "tune-cpu" ukuxhasa -tune njenge-gcc, kunye nokuphuculwa kwamaqonga ahlukeneyo.

Iimpawu ezintsha zeLLVM 12.0

Kule nguqulo intsha, sinokuyifumana Inkxaso yesixhobo se-llvm-build toolkit ibhalwe kwi python iphelisiwe, endaweni yokuba iprojekthi itshintshe ngokupheleleyo ukusebenzisa inkqubo yokwakha yeCMake.

Umva wolwakhiwo lwe-AArch64 luphucule inkxaso yeqonga leWindows: Ukuveliswa ngokuchanekileyo kwemveliso yokuhlangana kubonelelwe ngeenkqubo ekujolise kuzo yeWindows, ukuveliswa kwedatha kwiminxeba yokuphumla kulungiselelwe (ubungakanani bedatha buncitshiswe ngama-60%), ukubanako kokwenza idatha kuye kongezwa ukungasebenzi ngokusebenzisa izikhokelo ze-seh.

Ngexesha I-PowerPC yokwakha ngasemva ibandakanya ukwenziwa ngokutsha kwezinto ezisemgceni kunye nezokuhanjiswa, Ukuphuculwa kwenkxaso yeeprosesa ze-Power10, inkxaso eyongezelelweyo yemiyalelo ye-MMA yokusebenzisa izixhobo, kunye nenkxaso ephuculweyo yenkqubo yokusebenza ye-AIX.

ukuba I-x86 yongeze inkxaso ye-AMD Zen 3, i-Intel Alder Lake kunye neeprosesa ze-Intel Sapphire Rapids, kunye nemiyalelo yeeprosesa ze-HRESET, UINTR, kunye ne-AVXVNNI. Kususwe inkxaso yolwandiso lwe-MPX (ukhuselo lwenkumbulo) ukujonga izikhombisi ngokuchasene nemida yendawo yememori (obu buchwephesha abusetyenziswanga kwaye sele bususwe kwi-GCC kunye ne-clang). Isidibanisi songeze inkxaso kwizimaphambili {disp32} kunye {disp8} kunye nezimamva .d32 kunye .d8 ukulawula ubungakanani beseti yeapps kunye notshintsho. Uphawu olutsha "i-tune-cpu" yongezwa ukulawula ukusebenza kwe-microarchitectural optimizations.

Olunye utshintsho olwahlukileyo kukuba imowudi entsha yongezwa "-fsanitize = unsigned-shift-base" ukufumanisa ukuphuphuma kwenani elingatyikitywanga emva kotshintsho oluya ngasekhohlo. Kwifomathi kaMach-O (macOS), inkxaso iyaphunyezwa nge-arm64, ingalo, kunye ne-i386 yoyilo, ulungelelwaniso lwenqanaba lokudibanisa (i-LTO), kunye nokubeka isitampu xa kusingathwa ngaphandle.

Kwakhona uphawu lwempawu entsha "tune-cpu" icacisiwe evumela oUkulungiswa kobuncinci bokusetyenziswa kuyasetyenziswa nokuba kunjani na "ekujolise kuko-cpu" uphawu okanye i-CPU yeTargetMachine eya kuthi isetyenziselwe ukukhetha useto lomyalelo. Ukuba uphawu alukho, ukulungiswa kwe-CPU kuya kulandela i-CPU ekujoliswe kuyo.

I-Libc ++ iphumeza amanqaku amatsha akumgangatho we-C ++ 20 Kwaye ndaqala ukuphuhlisa amanqaku e-C ++ 2b, kunye yongezwe inkxaso yokuhlangana kunye nokukhubaza inkxaso yolwakhiwo ("-DLIBCXX_ENABLE_LOCALIZATION = Valiwe") kunye nezixhobo zokwenza amanani-mbumbulu.

Ngexesha yokuphuculwa kweClang 12, yoyilo lwe-AArch64, iiflegi ezintsha zomhlanganisi zongezwa "-Moutline-atomics" kunye "-mno-outline-atomics" ukwenza kunye nokukhubaza imisebenzi yomncedisi weatom njenge "__aarch64_cas8_relax". Le misebenzi yexesha lokubaleka ichonga ukuba ngaba ikhona inkxaso yeNkqubo eNkulu yoLwandiso (i-LSE) kwaye isebenzise imiyalelo enikiweyo yenkqubo yeatom okanye ukubuyela umva ukusebenzisa i-LL / SC (Imithwalo yekhonkco / imo yovenkile) yemiyalelo yokuvumelanisa.

Isikhombisi 'esi' ngoku senziwa ngokujonga okungabalulekanga kunye nokungenakukhutshwa (N). Ukhetho lwe "-fdelete-null-pointer-checks" lunokusetyenziselwa ukususa uphawu olungelulo xa amaxabiso angabalulekanga kufuneka.

Kwi-Linux ye-AArch64 kunye ne-PowerPC yoyilo, "-fasynchronous -wind-tables" yenziwe ukuba ivelise iitafile zeminxeba yokuqengqeleka, njengakwi-GCC.

Kwi "#pragma clang loop vectorize_width" ukubanakho ukucacisa "ulungiso" (olungagqibekanga) kunye neenketho "ezinokwenzakala" ukukhetha indlela yevectorization eyongeziweyo.

Kwi-clangd caching server (i-Clang Server) kwi-Linux, ukusetyenziswa kwememori ngexesha lokusebenza kwexesha elide kuncitshisiwe (umnxeba wamaxesha athile kwi-malloc_trim ubonelelwe ukubuyisela iphepha lememori lasimahla kwinkqubo yokusebenza).

Gqibela ukuba unomdla wokwazi okungakumbi ngayo ngale nguqulo intsha, unako Nceda ujonge kwezi nkcukacha zilandelayo. unxibelelwano


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.