LLVM 11.0 Inouya ne Python 3 Gadziriso, RISC-V Inowedzera uye Zvimwe

LLVM

Mushure memwedzi mitanhatu yekukura kuvhurwa kweshanduro nyowani yeLLVM 11.0 chirongwa chakapihwa mune izvo zvinovandudzwa zvakati wandei zvinoratidzwa, senge iyo yekuvandudza kuPython 3, zvigamba zvekutsigira yekuyedza mirairo muRISC-V uye zvimwe zvakawanda shanduko.

Kune avo vasina kujairana neLLVM, vanofanirwa kuziva kuti chii GCC inoenderana neturu yekushandisa (macomputer, optimizers, uye kodhi jenareta) ayo anounganidza zvirongwa muRISC-senge bit-kodhi yepakati mirayiridzo (yakaderera-chikamu chaiyo muchina ine yakawanda-nhanho yekugadzirisa 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 vakapa mitauro yakasiyana-siyana.

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

Makuru matsva maficha eLLVM 11.0

Mune iyi vhezheni itsva yeLLVM 11.0 iyo kuvaka system yakaendeswa kushandisa Python 3Saka nekudaro kushandiswa kwePython 3 hakumanikidzwe, nekuti kana zvikasawanika, sarudzo yekudzosera kumashure inoitwa kushandisa Python 2.

Ipa vector-basa-abi-musiyano wawedzerwa kumiririri wepakati (IR) kutsanangura mepu pakati pescalar uye vector mabasa ye vectorization mafoni. Maviri akapatsanurwa maveki mhando, llvm :: YakagadziriswaVectorType uye llvm :: ScalableVectorType, inotorwa kubva ku llvm :: VectorType.

Unefined maitiro ndeye isina kujekesa-based branching uye kupfuura kubva kune zvisina kujekeswa kukosha kune akajairwa raibhurari mabasa.

Mu memset / memcpy / memmove, inobvumidzwa kupfuudza zvisina kujekeswa zvinongedzo, asi kana paramende ine saizi yakaenzana zero.

LLJIT inowedzera rutsigiro rwekutanga static kutanga kuburikidza neLLJIT :: kutanga uye LLJIT :: kubvisa nzira.

Wakawedzera iyo kugona kuwedzera akaomarara maraibhurari kuJITDylib uchishandisa iyo StaticLibraryDefinitionGenerator kirasi. Yakawedzera C API yeORCv2 (API yekugadzira maJIT compilers).

Padivi rekuvandudza rutsigiro rweakasiyana mapurosesa ekugadzira:

  • Yakawedzerwa rutsigiro rweCortex-A34, Cortex-A77, Cortex-A78 uye Cortex-X1 processor mumashure ekuvakwa kweAArch64. Iyo ARMv8.2-BF16 (BFloat16) uye ARMv8.6-A yekuwedzeredzwa yakaitwa, kusanganisira RMv8.6-ECV (Enhanced Counter Virtualization), ARMv8.6-FGT (Fine Grained Traps), ARMv8.6-AMU (Chiitiko Monitors kuona) uye ARMv8.0-DGH (data rekuunganidza zano)
  • Wakawedzera rutsigiro rweCortex-M55, Cortex-A77, Cortex-A78, uye maCortex-X1 processor pane iyo ARM backend. Yakagadziriswa iyo Armv8.6-A Matrix Yakawanda uye RMv8.2-AA32BF16 BFloat16 yekuwedzera.
  • Wakawedzera rutsigiro rwekugadzira kodhi yePOWER10 processor mune iyo PowerPC backend. Yakagadziridzwa chiuno optimizations uye yakagadziridzwa rutsigiro rweanoyangarara nzvimbo mashandiro
  • Iyo yekuvakisa backend RISC-V inogona kugamuchira zvigamba nerutsigiro yemayedzo akawedzerwa ekuraira ayo asati atenderwa zviri pamutemo.

Pamusoro pazvo, iko kugona kwekugadzira kodhi yemabasa anosunga kunopihwa Yakabatanidzwa kune vector SVE mirairo.

Iyo yekumashure yekuvakwa kweAVR yakatamiswa kubva muchikamu chekuyedza ichienda kune yakagadzikana inosanganisirwa mukuparadzira base.

Iyo x86 backend inotsigira Intel AMX uye TSXLDTRK mirayiridzo. Yakawedzera dziviriro pakurwiswa kweLVI (Load Value Injection) uye yakajairika Kufungidzira Kuuraya Mativi Ekudzvinyirira mashandiro akaiswawo kuvharidzira kurwiswa kunokonzerwa nekufungidzira kuitiswa kwekushanda paCPU.

Pane dzimwe shanduko dzinobuda pachena:

  • Iyo yekumashure yeiyo SystemZ yekuvakisa inowedzera rutsigiro rweMemorySanitizer uye LeakSanitizer.
  • Libc ++ inowedzera rutsigiro rwemasvomhu anogara ari musoro faira .
  • Yakawedzerwa kugona kweiyo LLD chinongedzo.
  • Yakagadziridzwa rutsigiro rweELF, kusanganisira sarudzo dzakawedzerwa "-lto-emit-asm", "-lto-yose-chirongwa-chinoonekwa", "-print-archive-stats", "-shuffle-chikamu", "-thinlto-single -module "," - zvakasiyana "," - kupera "," - mitsara = N ".
  • Yakawedzera "-time-trace" sarudzo yekuchengetedza trace kune faira, iyo inogona kuzoturikiswa kuburikidza chrome: // trace interface muChannel.
  • Iyo interface ine Go (llgo) compiler yabviswa kubva mukuburitsa uye inogona kugadziridzwa mune ramangwana.

Finalmente kana iwe uchida kuziva zvakawanda nezvazvo nezve iyi vhezheni vhezheni, unogona kutarisa ruzivo mune inotevera chinongedzo.


Izvo zviri muchinyorwa zvinoomerera pamisimboti yedu ye tsika dzekunyora. Kuti utaure chikanganiso tinya pano.

Iva wekutanga kutaura

Siya yako yekutaura

Your kero e havazobvumirwi ichibudiswa.

*

*

  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