LLVM 12.0 yakatoburitswa uye idzi ndidzo nhau dzayo

LLVM

Mushure memwedzi mitanhatu yekukura kuvhurwa kweshanduro nyowani yeLLVM 12.0 chirongwa chakapihwa GCC (Makomputa, Optimizers, uye Code maJenareta) inoenderana iyo inounganidza zvirongwa mukati mepakati bitcode yemirairo chaiyo yakafanana neRISC (yakaderera-chikamu chikamu muchina une yakawanda-nhanho optimization system).

Mune iyi vhezheni itsva isu tinogona kuwana akasiyana ekuvandudza uye nhau, yatinogona kuratidza chinhu chitsva chebasa rekuti "tune-cpu" kutsigira -mune segcc, pamwe nekuvandudza kune akasiyana mapuratifomu.

Makuru matsva maficha eLLVM 12.0

Mune iyi vhezheni itsva, tinogona kuwana izvo Tsigiro yeiyo llvm-yekuvaka yekushandisa toolkit yakanyorwa mu python yamiswa, pachinzvimbo icho icho chirongwa chakachinja zvachose kushandisa iyo CMake kuvaka system.

Iyo yekumashure yeiyo ArArch64 yekuvakisa yakavandudza rutsigiro rweWindows chikuva: chizvarwa chakaringana chechiunganidziro chakaburitswa chakapihwa chakanangwa nemaWindows masystem, dhizaini yekufungidzira yakagadziridzwa (saizi yedata rakaderedzwa ne60%), kugona kugadzira data kwakawedzerwa kusunungura uchishandisa seh mirau.

Nguva PowerPC yekuvakisa backend inosanganisira nyowani optimizations yeinline uye loop deployments.

Para x86 yakawedzera rutsigiro rwe AMD Zen 3, Intel Alder Lake uye Intel Sapphire Rapids processor, pamwe nemirairo ye HRESET, UINTR, uye AVXVNNI processors. Kubvisa rutsigiro rweMPX yekuwedzera (ndangariro inodzivirira yekuwedzera) kutarisa zvinongedzo zvichipesana nendangariro nzvimbo miganho (tekinoroji iyi haina kushandiswa zvakanyanya uye yakatobviswa kuGCC uye clang). Iyo inounganidza yawedzera rutsigiro rwezvigadzikiso {disp32} uye {disp8} uye zvisviniro .d32 uye .d8 kudzora saizi yekubvisa kweanoshanda uye shanduko. Hunhu hutsva "tune-cpu" yakawedzerwa kudzora kugoneswa kwema microarchitectural optimizations.

Imwe shanduko inomira pachena ndeyekuti nzira nyowani yakawedzerwa "-fsanitize = unsigned-shift-base" kuona isina kusainwa manhamba akafashukira mushure mekuchinja zvishoma kuruboshwe. ZveMach-O (macOS) fomati, rutsigiro runoitwa rwemaoko64, ruoko, uye i386 zvivakwa, chinongedzo chesaiti optimization (LTO), uye stack kutandara kana uchibata kunze.

Uyewo hunhu hutsva hunhu "tune-cpu" inosimbiswa iyo inobvumira iyo omicroarchitecture optimizations inoitwa zvisinei ne "target-cpu" hunhu kana iyo TargetMachine CPU iyo inoshandiswa kusarudza kuraira kwakatemwa. Kana hunhu husipo, iyo yekugadzirisa CPU ichatevera yakatarwa CPU.

Libc ++ inoshandisa zvitsva zveiyo C ++ 20 yakajairwa ndokutanga kuvandudza maficha eC ++ 2b kududzirwa, pamwe akawedzera rutsigiro rwekuungana pamwe nekudzima rutsigiro rwekuita nzvimbo ("-DLIBCXX_ENABLE_LOCALIZATION = KUZIVA") nemidziyo yekugadzira nhamba dzekunyepedzera.

Nguva yekuvandudzwa kweClang 12, yekuvakwa kweAArch64, mireza nyowani yekuwedzera yakawedzerwa "-Moutline-atomics" uye "-mno-outline-atomics" kugonesa uye kudzima maatomu mabasa anobatsira se "__aarch64_cas8_relax". Aya mabasa enguva yekumhanya anoona kana paine rutsigiro rweGuru Sisitimu Yekuwedzera (LSE) uye shandisa yakapihwa maatomu processor mirairo kana kudzosera kumashure kuti ushandise LL / SC (Load-link / chitoro- zvine mamiriro) mirairidzo.

Iyo 'iyi' pointer ikozvino inogadziriswa isina-null uye isingatariswe macheki (N). Sarudzo ye "-fdelete-null-pointer-checks" inogona kushandiswa kubvisa iyo isiri-null hunhu kana kukosha kwakashata kuchidikanwa.

MuLinux yeAArch64 uye PowerPC zvivakwa, "-fasynchronous -wind-tafura" inogoneswa kuburitsa matafura e roll mafoni, seGCC

Mu "#pragma clang loop vectorize_width" kugona kutsanangura "yakagadziriswa" (default) uye "scalable" sarudzo kusarudza nzira ye vectorization yakawedzerwa.

Muye clangd caching server (Clang Server) paLinux, ndangariro kushandiswa mukati mekushanda kwenguva refu kwakadzikiswa zvakanyanya (nguva nenguva yekufona kune malloc_trim inopihwa kudzorera emahara emapeji ememori kuhurongwa hwekushandisa).

Finalmente kana iwe uchifarira kuziva zvakawanda nezvazvo nezve iyi vhezheni vhezheni, iwe unogona Ndokumbira utarise kune izvo zvinotevera mune zvinotevera. link


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