I-LLVM 11.0 ifika nohlaziyo kwiPython 3, uphuculo lwe-RISC-V kunye nokunye

LLVM

Emva kweenyanga ezintandathu zophuhliso ukumiliselwa kohlelo olutsha lweprojekthi ye-LLVM 11.0 kuzisiwe apho kwenziwe uphuculo oluninzi, olufana nokuhlaziywa kwiPython 3, iipatches ukuxhasa imiyalelo yovavanyo kwiRISC-V kunye notshintsho oluninzi.

Kulabo abangaqhelekanga nge-LLVM, kufuneka bazi ukuba yintoni Ikhithi yezixhobo ehambelana neGCC (iicompiler, optimizers, kunye neekhowudi ezivelisa) eziqulunqa iinkqubo kwi-RISC-efana ne-bit-code intermediate imiyalelo ebonakalayo (umatshini osezingeni eliphantsi kunye nenkqubo yokusebenza okuphezulu).

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 baye bavelisa iilwimi ezahlukeneyo.

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

Iimpawu ezintsha zeLLVM 11.0

Kule nguqulo intsha yeLLVM 11.0 Inkqubo yokwakha ihanjisiwe ukuba isebenzise iPython 3Kananjalo ukusetyenziswa kwePython 3 akunyanzeliswa, kuba kwimeko ayifumaneki, ukhetho lokubuyela umva lusetyenzisiwe ukusebenzisa iPython 2.

Nikela i-vector-function-abi-variant yongezwa ukumelwa okuphakathi (IR) Ukuchaza imephu phakathi kwesikali kunye nemisebenzi yevektha yeefowuni zokwenza vectorization. Iindidi ezimbini ezahlukileyo ze vector, llvm :: FixedVectorType kunye llvm :: ScalableVectorType, zikhutshwe kwi llvm :: VectorType.

Ukuziphatha okungachazwanga kusekwe kwisebe elingasetyenziswanga kwaye kudlula kumaxabiso angachazwanga ukuya kwimisebenzi esemgangathweni yamathala eencwadi.

Kwi-memset / memcpy / memmove, kuvunyelwe ukudlulisa izikhombisi ezingachazwanga, kodwa ukuba iparameter enobungakanani ilingana no-zero.

I-LLJIT yongeza inkxaso yokuqalisa ngokusesikweni ngokusebenzisa i-LLJIT :: Qalisa kunye ne-LLJIT :: iindlela zokuqalisa.

Yongeze i Isakhono sokongeza iilayibrari ezimileyo kwiJITDylib usebenzisa udidi lweStaticLibraryDefinitionGenerator. Yongezwe i-C API ye-ORCv2 (API yokudala iicomputer zeJIT).

Kwicala lokuphucula inkxaso kulwakhiwo lweeprosesa ezahlukeneyo:

  • Yongezwe Inkxaso yeCortex-A34, Cortex-A77, Cortex-A78 kunye neCortex-X1 processors ngasemva kuyilo loyilo lwe-AArch64. I-ARMv8.2-BF16 (BFloat16) kunye ne-ARMv8.6-A izandiso ziye zaphunyezwa, kubandakanya i-RMv8.6-ECV (i-Enhanced Counter Virtualization), i-ARMv8.6-FGT (Fine Grained Traps), i-ARMv8.6-AMU (Umsebenzi Ukujonga ubuchule) kunye ne-ARMv8.0-DGH (inqaku lokuqokelela idatha).
  • Yongezwe inkxaso yeCortex-M55, Cortex-A77, Cortex-A78, kunye neeprosesa zeCortex-X1 kwi-ARM backend. Iphunyezwe iArmv8.6-A Matrix iphindaphindwe kunye neRMv8.2-AA32BF16 BFloat16 yolwandiso.
  • Yongeze inkxaso yokuveliswa kwekhowudi ye-POWER10 processor kwi-PowerPC backend. Ukuphuculwa kwendlela yokusebenza okuphuculweyo kunye nenkxaso ephuculweyo yokusebenza kweendawo zokudada.
  • Uyilo olungasemva loyilo I-RISC-V inokufumana iipatches ngenkxaso iiseti zemiyalelo eyandisiweyo yolingo engekamkelwa ngokusemthethweni.

Ukongeza kuyo, Amandla okuvelisa ikhowudi yemisebenzi ebophayo anikiweyo idityaniswe nemiyalelo yevector SVE.

Umva wolwakhiwo lwe-AVR lususiwe kudidi lovavanyo kuvavanyo oluzinzileyo olubandakanyiweyo kulwabiwo lwesiseko.

Umva ongasemva we-x86 ixhasa i-Intel AMX kunye ne-TSXLDTRK imiyalelo. Ukongezwa okongeziweyo kuhlaselo lwe-LVI (Inaliti yeXabiso loMthwalo) kunye neendlela eziqhelekileyo zoPhuculo lweeMpembelelo zoPhononongo ziye zaphunyezwa ukuthintela uhlaselo olubangelwa kukwenziwa komsebenzi kwi-CPU.

Olunye utshintsho olwahlukileyo:

  • Umva ongasemva kuyilo lweNkquboZ yongeza inkxaso kwiMemoriSanitizer kunye neLeakSanitizer.
  • I-Libc ++ yongeza inkxaso kwimathematics header file .
  • Ukongezwa kwamandla kwikhonkco le-LLD.
  • Ukuphuculwa kwenkxaso ye-ELF, kubandakanya ukhetho olongezekileyo "-lto-emit-asm", "-lto-whole-program-ebonakalayo", "-print-archive-stats", "-shuffle-section", "-thinlto-single -module "," - ekhethekileyo "," - ukukhutshwa "," - imisonto = N ".
  • Yongezwe "-time-trace" ukhetho lokugcina umkhondo kwifayile, enokuthi emva koko idluliswe chrome: // trace interface kwiChannel.
  • Ujongano kunye nomqokeleli weGo (llgo) ususiwe ekukhululweni kwaye unokuhlengahlengiswa kwixesha elizayo.

Gqibela ukuba ufuna ukwazi ngakumbi ngayo malunga nale nguqulo intsha, ungakhangela iinkcukacha kwikhonkco elilandelayo.


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.