LLVM 13.0 saapuu tukiparannuksilla ja paljon muuta

llvm

Kuuden kuukauden kehityksen jälkeen LLVM 13.0 -projektin uuden version julkaisu esiteltiin juuri 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 on lisätty erilaisia ​​muutoksia ja uutuuksia, joista tuen parannukset korostettu sekä C ++ 20: n ja C ++ 2b: n uusien ominaisuuksien käyttöönotto muun muassa.

LLVM 13.0: n tärkeimmät uudet ominaisuudet

Tästä uudesta versiosta voimme löytää sja lisäsi "-ehcontguard" -vaihtoehdon CET-tekniikan käyttämiseksi (Windows Control-flow Enforcement Technology) suojaa Return-Oriented Programming (ROP) -tekniikoilla rakennettujen hyökkäysten suorittamisen poikkeusten käsittelyvaiheessa.

Sitä paitsi, jaDebuginfo-testiprojekti on nimetty uudelleen projektien ristikokeiksi ja se on suunniteltu useiden projektien komponenttien testaamiseen, ei pelkästään virheenkorjaustietoihin, ja koontiversio tarjoaa tukea useiden jakelujen rakentamiseen, esimerkiksi yhdellä apuohjelmilla ja toisella kehittäjäkirjastoilla.

lisäksi Libc ++ toteuttaa edelleen C ++ 20- ja C ++ 2b -standardien uusia ominaisuuksia, mukaan lukien käsitteiden kirjaston valmistuminen, plus lisätty tuki std: tiedostojärjestelmälle Windowsille, joka perustuu MinGW: hen, myös erilliset otsikkotiedostot , ja ja lisäsi LIBCXX_ENABLE_INCOMPLETE_FEATURES -koontivaihtoehdon poistamaan käytöstä epätäydellisesti toteutetut otsikkotiedostot.

Vaikka AArch64-arkkitehtuurin taustaohjelma tukee Armv9-A RME -laajennuksia (Realm Management Extension) ja SME (Scalable Matrix Extension) kokoonpanossa, ISA V68 / HVX -tuki lisätty Hexagon -arkkitehtuuriin ja x86 -taustajärjestelmään parannettu yhteensopivuus AMD Zen 3 -prosessorien kanssa ja lisäsi tuen GFX1013 RDNA2 APU -yksiköille AMDGPU -taustajärjestelmään.

Big-endian Aarch64 -prosessorien tuen toteuttavan LLD-linkkerin ominaisuuksia on myös laajennettu, ja Mach-O-taustaosa on saatettu tilaan, joka mahdollistaa tavallisten ohjelmien linkittämisen. Se sisältää tarvittavat parannukset Glibcin linkittämiseen LLD: n avulla.

Llvm-mca (konekoodianalysaattori) -apuohjelma lisää tukea järjestyksessä oleville superskalaarisille putkiprosessoreille, kuten ARM Cortex-A55.

AArch64 -alustan LLDB -virheenkorjaaja tarjoaa täyden tuen osoittimen todentamiseen, MTE (MemTag, Memory Tagging Extension) ja SVE -rekisterit sekä komennot on lisätty, joiden avulla voit sitoa tageja kuhunkin muistinvaraustoimintoon ja järjestää, kun käytät muistia, osoittimen, joka tulisi liittää oikeaan.
LLDB -virheenkorjaaja ja Fortran - Flang -käyttöliittymä on lisätty projektin tuottamiin binäärikokoonpanoihin.

suhteen Clang 13.0 korostaa parannuksia:

  • Tuki taatulle jonopuhelulle (aliohjelmapuhelu toiminnon lopussa, joka muodostaa jonon rekursion, jos aliohjelma kutsuu itseään) on toteutettu.
  • Lisäsi liput "-Wunused-but-set-parameter" ja "-Wunused-but-set-variable" näyttämään varoituksen, jos parametri tai muuttuja on asetettu mutta sitä ei käytetä.
  • Lisätty "-Wnull-osoitin-vähennys" -lippu, joka näyttää varoituksen, jos koodi voi johtaa määrittelemättömään käyttäytymiseen, koska nolla-osoitinta käytetään vähennysoperaatioissa.
  • Lisätty "-fstack-use" -lippu, joka luo kullekin kooditiedostolle ylimääräisen ".su" -tiedoston, joka sisältää tietoja pinon kehysten koosta kullekin käsitellyssä tiedostossa määritellylle toiminnolle.
  • Staattiseen jäsentimeen on lisätty uusi tulostustyyppi "sarif-html", jonka tuloksena raportit luodaan samanaikaisesti HTML- ja Sarif-muodossa.
  • Lisätty uusi sekki allocClassWithName -koodille. Kun "-analyzer-display-progress" -vaihtoehto on määritetty, kunkin toiminnon jäsennysaika näytetään. Älykäs osoittimen jäsennys (alpha.cplusplus.SmartPtr) on melkein valmis.
  • Tuki on otettu käyttöön OpenMP 5.1 -määrityksessä määritellyille silmukanmuunnosdirektiiveille ("#pragma omp unrol" ja "#pragma omp tile").
  • Suuri osa uusista sekkeistä on lisätty linterin clang-siistiin.

Vihdoin Jos haluat tietää enemmän siitä, voit tarkistaa yksityiskohdat Seuraavassa linkissä.


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.