LLVM 13.0 inosvika iine rutsigiro kugadzirisa uye nezvimwe

 

LLVM Mushure memwedzi mitanhatu yekuvandudza, kuvhurwa kweshanduro nyowani yepurojekiti «LLVM 13.0» ichangoburitswa 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 nyowani, dzakasiyana shanduko uye zvitsva zvakawedzerwa, izvo rutsigiro zvinowedzerwa zvaratidzwa pamwe nekuitwa kwezvinhu zvitsva zveC ++ 20 uye C ++ 2b pakati pezvimwe zvinhu.

Makuru matsva maficha eLLVM 13.0

Mune iyi vhezheni itsva tinogona kuwana izvo suye akawedzera "-ehcontguard" sarudzo yekushandisa tekinoroji yeCET (Windows Kudzora-kuyerera Enforcing Technology) kuchengetedza mune yekusarudzika yekubata nhanho yekuitwa kwezviitwa zvakavakirwa vachishandisa Kudzoka-Yakatemerwa Programming (ROP) matekiniki.

Kunze kwezvo, uyeIyo debuginfo-test chirongwa chakapihwa zita rekuti muchinjika-projekiti-bvunzo uye yakagadzirirwa kuyedza zvikamu kubva kumapurojekiti mazhinji, kwete kungogumira pakukanganisa ruzivo, uye iyo sisitimu yekuvaka inopa rutsigiro rwekuvaka migove yakawanda, semuenzaniso imwe ine zvinoshandiswa uye imwe ine raibhurari yekuvandudza.

Pane rimwe divi Libc ++ inoenderera mberi nekushandisa zvitsva kubva kuC ++ 20 uye C ++ 2b zviyero, kusanganisira kupedzisa iyo 'pfungwa' raibhurari, pamwe yakawedzera rutsigiro rwe std: fileystem yeWindows inotarisana neMinGW, zvakare patsanura mahedhiyo mafaira , uye uye iyo LIBCXX_ENABLE_INCOMPLETE_FEATURES yekuvaka sarudzo yakawedzerwa kuremadza mahedhiyo mafaera neisina kukwana kuitwa mashandiro.

Nguva backend yeArArch64 yekuvakisa inotsigira Armv9-A RME yekuwedzera (Realm Management Extension) uye SME (Scalable Matrix Kuwedzeredza) mune inosangana, ISA V68 / HVX rutsigiro rwakawedzerwa kune iyo Hexagon yekuvakisa backend uye iyo x86 backend yakavandudzwa kuenderana ne AMD Zen 3 processor uye akawedzera rutsigiro rweGFX1013 RDNA2 APUs kune iyo AMDGPU backend.

Iko kugona kweiyo LLD linker, iyo inoshandisa kutsigira kweBig-endian Aarch64 processor, yakawedzerwawo, uye iyo Mach-O backend yakaunzwa kune nyika inobvumidza zvirongwa zvakajairika kuti zvibatanidzwe. Inosanganisira zvinodikanwa zvinowedzera kubatanidza Glibc uchishandisa LLD.

Iyo llvm-mca (Machine Code Analyzer) yekushandisa inowedzera rutsigiro rwe mu-odha superscalar pombi processor, senge ARM Cortex-A55.

LLDB debugger yeiyo AArch64 chikuva inopa rutsigiro ruzere rwekusimbisa pointer, MTE (MemTag, Memory Tagging Extension) uye maSVE marejista, pamwe nemirairo yakawedzerwa iyo inokutendera kuti usunge mataki kune ese ekugovanisa ndangariro mashandiro uye kuronga, kana uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchitsvaga.
Iyo LLDB debugger uye iyo Fortran - Flang interface yakawedzerwa kumabhinari magungano anogadzirwa neprojekti.

Kana ari Clang 13.0 inoratidza kusimudzira.

  • Tsigiro yeyakavimbiswa mutsara wekufona (iyo subroutine kufona pakupera kwebasa, iyo inoumba muswe kudzokorora kana iyo subroutine ichizvideedza yega) yaitwa.
  • Wakawedzera iyo "-Wunused-but-set-parameter" uye "-Wunused-asi-set-variable" mireza kuratidza yambiro kana paramende kana musiyano wakaiswa asi usingashandiswe.
  • Wakawedzera iyo "-Wnull-pointer-kubvisa" mureza kuratidza yambiro kana kodhi yacho ingatungamira kune isina kujekeswa maitiro nekuda kwekushandiswa kwe null pointer mukubvisa mashandiro.
  • Wakawedzera iyo "-fstack-use" mureza kuti ugadzire yega yega kodhi faira imwe yekuwedzera ".su" faira rine ruzivo nezve saizi yemastaki mafuremu pabasa rega rega rinotsanangurwa mufaira rakagadziriswa.
  • Rudzi rutsva rwezvabuditswa rwakawedzerwa kune yakamira mushambadzi, "sarif-html", iyo inoguma mukugadzirwa kwemishumo panguva imwe chete mumafomati eHTML neSarif.
  • Wakawedzera cheki nyowani ye allocClassWithName. Kana sarudzo ye "-analyzer-display-progress" ikatsanangurwa, nguva yekuratidzira pane yega yega basa inoratidzwa. Iyo smart pointer parser (alpha.cplusplus.SmartPtr) yave kuda kugadzirira.
  • Tsigiro yeiyo loop shanduko mirairo ("#pragma omp unrol" uye "#pragma omp tile"), inotsanangurwa mune OpenMP 5.1 yakatarwa, yaitwa.
  • Chikamu chikuru checheki nyowani chakawedzerwa kune linter clang-tidy.

Finalmente Kana iwe uchifarira kuziva zvakawanda nezvazvo, 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