LLVM 12.0 on jo julkaistu ja nämä ovat sen uutisia

llvm

Kuuden kuukauden kehityksen jälkeen esiteltiin LLVM 12.0 -projektin uuden version julkaisu GCC (Compilers, Optimizers, and Code Generators) -yhteensopiva, joka kokoaa ohjelmat RISC: n (matalan tason virtuaalikone, jossa on monitasoinen optimointijärjestelmä) kaltaisten virtuaalisten käskyjen välibittikoodiksi.

Tässä uudessa versiossa voimme löytää erilaisia ​​parannuksia ja uutisia, josta voimme korostaa uuden toimintomääritteen "tune-cpu", joka tukee -mtune kuin gcc, sekä parannuksia eri alustoille.

LLVM 12.0: n tärkeimmät uudet ominaisuudet

Tästä uudesta versiosta voimme löytää sen tuki llvm-build build -työkalupaketille kirjoitettu pythonilla on lopetettu, jonka sijaan projekti on täysin siirtynyt käyttämään CMake build -järjestelmää.

AArch64-arkkitehtuurin taustajärjestelmä on parantanut Windows-alustan tukea: Kohde-Windows-järjestelmille on annettu oikea kokoonpanon tuotos, purettujen puheluiden datan tuottaminen on optimoitu (tällaisten tietojen koko on pienentynyt 60%), kyky luoda tietoja on lisätty rentoutumiseen seh-direktiiveillä.

Vaikka PowerPC-arkkitehtuurin taustajärjestelmä sisältää uusia optimointeja inline- ja loop-käyttöönottoon, parannuksia Power10-prosessoreiden tukemiseen, lisätukea MMA-ohjeisiin matriisien manipuloimiseksi ja parannettua tukea AIX-käyttöjärjestelmälle.

että x86 lisäsi tuen AMD Zen 3-, Intel Alder Lake- ja Intel Sapphire Rapids -prosessoreillesekä ohjeet HRESET-, UINTR- ja AVXVNNI-prosessoreille. Poistettu tuki MPX-laajennuksille (muistisuojalaajennuksille) osoitinten muistialueiden rajojen tarkistamiseksi (tätä tekniikkaa ei ole käytetty laajalti ja se on jo poistettu GCC: stä ja clangista). Kokoaja on lisännyt tukea etuliitteille {disp32} ja {disp8} sekä loppuliitteille .d32 ja .d8 operandien ja siirtymien siirtymän koon säätämiseksi. Uusi ominaisuus "tune-cpu" lisättiin hallitsemaan mikroarkkitehtuurin optimointien käyttöönottoa.

Toinen erottuva muutos on se uusi tila on lisätty "-fsanitize = unsigned-shift-base" havaitsemaan allekirjoittamattomat kokonaisluvun ylivuotot vasemmalle siirtymisen jälkeen. Mach-O (macOS) -muodossa tuki on toteutettu arm64-, arm- ja i386-arkkitehtuureille, linkin vaiheen optimoinnille (LTO) ja pinon purkamiselle poikkeuksia käsiteltäessä.

myös uusi ominaisuusmääritelmä "tune-cpu" on korostettu jonka avulla omikroarkkitehtuurin optimointeja käytetään "target-cpu" -attribuutista riippumatta tai TargetMachine-suorittimesta, jota käytetään käskyjoukon valitsemiseen. Jos määritettä ei ole, viritysprosessori seuraa kohdeprosessoria.

Libc ++ ottaa käyttöön C ++ 20 -standardin uudet ominaisuudet ja alkoi kehittää C ++ 2b -määrityksen ominaisuuksia lisätty tuki kokoonpanolle poistamalla lokalisoinnin tuki käytöstä ("-DLIBCXX_ENABLE_LOCALIZATION = OFF") ja laitteet näennäissatunnaislukujen muodostamiseksi.

Vaikka Clang 12: n parannuksista AArch64-arkkitehtuurille on lisätty uusia kääntäjän lippuja "-Moutline-atomics" ja "-mno-outline-atomics" mahdollistavat ja poistavat käytöstä atomiapua antavat toiminnot, kuten "__aarch64_cas8_relax". Nämä ajonaikaiset toiminnot määrittävät, onko tukea suurille järjestelmälaajennuksille (LSE), ja käytä toimitettuja atomiprosessoriohjeita tai palautusta LL / SC (Load-link / store-conditional) -ohjeiden käyttämiseen synkronointiin.

'Tämä' -osoitin käsitellään nyt ei-nolla- ja poissuljettavilla tarkastuksilla (N). "-Fdelete-null-pointer-check" -vaihtoehtoa voidaan käyttää non-null -attribuutin poistamiseen, kun nolla-arvoja vaaditaan.

Linuxissa AArch64- ja PowerPC-arkkitehtuureille "-fasynchronous -wind-taulukot" -toiminnon avulla voidaan luoda nimipuheluitaulukoita, kuten GCC: ssä.

Kohdassa "#pragma clang loop vectorize_width" lisättiin mahdollisuus määrittää "kiinteät" (oletus) ja "skaalautuvat" -vaihtoehdot vektorointimenetelmän valitsemiseksi.

Linuxin Clangd-välimuistipalvelimessa (Clang Server) muistin kulutus vähenee huomattavasti pitkäaikaisessa käytössä (säännöllinen kutsu malloc_trim -palveluun tarjotaan vapaan muistisivun palauttamiseksi käyttöjärjestelmään).

Vihdoin jos olet kiinnostunut tietämään siitä lisää tästä uudesta versiosta, voit Katso yksityiskohdat seuraavassa. -linkkiä.


Ole ensimmäinen kommentti

Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastaa tiedoista: AB Internet Networks 2008 SL
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.