Lo stack del compilatore LLVM ha visto una crescita record nel 2021 sia con la maggior quantità di nuovo codice introdotto in un singolo anno sia con il maggior numero di contributori all’anno che questo progetto open source abbia mai visto. Anche a parte le metriche di sviluppo, LLVM ha avuto un 2021 piuttosto travolgente.
Durante l’esecuzione di GitStats sul repository mono LLVM a New Year’s Even, questo stack di compilatori/toolchain open source conteneva fino a 111.028 file che comprendevano 23,85 milioni di righe di codice. Una vera impresa considerando che il kernel Linux ha 32 milioni di righe di codice nel suo albero dei sorgenti nel corso della sua storia molto più lunga. Il repository di LLVM ha visto 408k commit e contributi da circa 2.903 autori diversi.
In un conteggio dei commit, LLVM nel 2021 non ha avuto l’anno più impegnativo con solo 32,1k di commit rispetto ai 34,9k nel 2020 o 33,2k nel 2019…
Ma quando è arrivato al code churn, LLVM ha guidato nel 2021… LLVM ha visto 12,5 milioni di righe di codice aggiunte e 8,3 milioni di righe rimosse… Molto più in alto rispetto al 2020, dove c’erano solo 7 milioni di righe aggiunte e 3,9 milioni rimosse.
Simon Pilgrim ha continuato a essere responsabile del maggior numero di commit nel 2021, seguito da Fangrui Song, Roman Lebedev, Craig Topper, Nikita Popov e Sanjay Patel.
Uno degli altri parametri promettenti per LLVM nel 2021 è stato il numero record di autori… 1.400 diversi indirizzi e-mail impegnati in LLVM, rispetto ai 1.321 del 2020 che era in precedenza un massimo storico. Prima del 2020, non c’era un solo anno che vedesse più di mille contributori. Ora per 1.400 nel 2020 sta mostrando una crescita abbastanza buona della comunità open source LLVM.
Tutti i soliti grandi nomi continuano a contribuire ampiamente a LLVM…
Sarà molto interessante vedere la direzione di LLVM nel 2022… L’intero dump di GitStats può essere trovato qui.
Per coloro che si interrogano sui grandi cambiamenti e sugli avvenimenti per LLVM nel 2021, di seguito è riportato uno sguardo alle notizie più popolari trattate su Phoronix.
Costruire il kernel Linux con Clang continua ad essere utile, nuove funzionalità perseguite
Alla conferenza virtuale Linux.Conf.Au del mese scorso c’è stata una presentazione dell’ingegnere di Google Nick Desaulniers su lo stato attuale della creazione del kernel Linux con LLVM Clang come alternativa a GCC.
LLVM Clang 14 ottiene un’ottimizzazione delle prestazioni”sorprendente”
Mentre le prestazioni di LLVM/Clang sono migliorate molto nel corso degli anni e per x86_64 e AArch64 possono essere e collo con il compilatore GCC, la feroce battaglia per le prestazioni non è finita. Con LLVM/Clang 14.0 in uscita nei primi mesi del 2022 ci sarà più lavoro sulle prestazioni con un commit recente in particolare che mostra molte promesse.
Mold 1.0 è stato rilasciato come una moderna alternativa al linker ad alta velocità a GNU Gold, LLVM LLD
Mold 1.0 è un’alternativa al linker ad alta velocità pronta per la produzione a GNU’s Gold o LLD di LLVM che attualmente è supportato su sistemi Linux e scritto dall’autore LLD originale.
BOLT di Facebook Nearing Mainline LLVM per l’ottimizzazione dei binari
Il progetto BOLT di Facebook per ottimizzare le prestazioni dei binari compilati sta per essere aggiunto all’albero dei sorgenti ufficiale di LLVM con il suo deposito mono.
Intel sta abbracciando completamente LLVM per i suoi compilatori C/C++
I compilatori C/C++ di prossima generazione di Intel stanno sfruttando appieno lo stack del compilatore LLVM al posto del loro precedente codice proprietario del compilatore-base. Intel ha”completa [d] adozione”di LLVM per le proprie esigenze di compilatore C/C++.
Lo sviluppo delle funzionalità LLVM 13 è terminato, LLVM 14 entra in sviluppo
Lo sviluppo delle funzionalità LLVM 13.0 è terminato con il codice ora ramificato e la prima release candidate taggata.
BOLT vicino alla fusione in LLVM per ottimizzare le prestazioni dei binari
Oltre al back-end LLVM SPIR-V che sembra pronto per l’unione, lavorando anche attraverso i passaggi finali per essere mainlined nello stack del compilatore LLVM è anche il progetto BOLT di Facebook per l’ottimizzazione delle prestazioni dei binari.
Supporto LLVM Clang Mainlines per la serie Motorola 68000 (m68k)
Se non fosse abbastanza strano durante questi tempi di pandemia vedere il supporto per Nintendo 64 upstream nel kernel Linux 5.12 qualche settimana fa, l’ultimo hardware vintage che vede ancora il supporto open source in corso sono i processori a 32 bit della serie Motorola 68000. LLVM/Clang oggi ha unito l’obiettivo”m68k”per questi processori vecchi di tre decenni.
LLVM sta ancora lavorando sulla riassegnazione delle licenze, ha bisogno di aiuto per individuare alcuni collaboratori passati
Per anni LLVM ha lavorato su una massiccia riassegnazione della sua base di codice, ma lo sforzo è ancora in corso poiché stanno ancora cercando di rintracciare alcuni contributori passati per raccogliere le loro firme sul cambiamento.
LLVM 12.0 rilasciato con il supporto di Alder Lake + Sapphire Rapids, più C++20
Dopo che il ciclo di rilascio si è trascinato per un mese in più a causa di bug del blocco, LLVM 12 è stato ufficialmente etichettato mercoledì sera come l’ultimo aggiornamento semestrale di questo stack di compilatori open source.
Red Hat sta assumendo più ingegneri di compilatori LLVM
Non solo Red Hat continua a investire pesantemente in GCC e nella toolchain GNU, ma si scopre che stanno aumentando il proprio compilatore LLVM talento pure.
Clang PGO abbattuto per ora dal kernel Linux
Mentre il supporto Clang PGO è stato inviato per Linux 5.14 come parte degli aggiornamenti di gestione del compilatore Clang per questa prossima versione del kernel, la funzionalità è stata successivamente abbandonata e una nuova richiesta pull è stata emessa dopo le critiche di Linus Torvalds e altri.
LLVM 13.0 rilasciato con pacchetti binari Flang ufficiali, supporto OpenCL Clang migliorato
LLVM 13.0 è stato etichettato durante la notte come l’ultimo aggiornamento semestrale a questo ampiamente utilizzato, molto potente stack di compilatori open source.
HPVM 1.0 rilasciato come compilatore basato su LLVM per CPU/GPU/FPGA/acceleratori
L’ultimo sforzo di infrastruttura del compilatore open source che cerca di indirizzare un ampio spettro di dispositivi da Le CPU tramite GPU, FPGA e acceleratori sono HPVM. Il progetto HPVM ha celebrato oggi il suo traguardo 1.0.
Supporto Clang LTO unito per Linux 5.12 incluso ARM64 + x86_64
Stappare lo champagne perché il kernel Linux 5.12 in fase di sviluppo sarà in grado di supportare le ottimizzazioni del tempo di collegamento ( LTO) in combinazione con il compilatore LLVM Clang non solo su AArch64 (ARM a 64 bit) ma anche su x86_64.
Intel, Arm e Khronos si sentono pronti a sbarcare il backend SPIR-V all’interno di LLVM
Gli ingegneri di Intel e Arm in collaborazione con The Khronos Group si sentono pronti ora per iniziare ad atterrare il loro Back-end SPIR-V all’interno dell’albero dei sorgenti LLVM a monte! Questo back-end SPIR-V per LLVM consentirebbe in definitiva ai front-end LLVM per lingue diverse di indirizzare più facilmente questa rappresentazione dello shader standard del settore in modo che possa essere acquisita dai driver Vulkan/OpenCL.
LLVM 12.0-rc4 è stato rilasciato per migliorare questo compilatore open-source
LLVM 12.0 doveva uscire verso la fine di febbraio, ma i bug del blocco hanno portato a un rilascio aggiuntivo candidati mentre gli sviluppatori lavorano per abbottonare questa versione dello stack del compilatore open source.
Rilasciato il compilatore AMD AOCC 3.1-Ribasato su LLVM 12.0
AMD all’inizio di questa settimana ha pubblicato silenziosamente una nuova versione del suo compilatore di codice AOCC che ora è basato su LLVM/upstream Stato del compilatore Clang 12.0.
AMD AOCC 3.0 rilasciato come compilatore basato su Zen 3 Optimized LLVM Clang 12
Con il lancio odierno di AMD EPYC 7003″Milano”c’è anche la disponibilità pubblica di AOCC 3.0 come loro LLVM/Clang downstream ora trasporta patch per il supporto Zen 3 ottimizzato.
I ritardi di LLVM 12.0 si trascinano con RC5 ora in spedizione
LLVM 12.0 doveva essere spedito all’inizio di marzo, ma ora più di un mese dopo e circa 6.660+ si impegnano a LLVM 13.0 già, LLVM 12.0 non è ancora stato spedito ma mercoledì 12.0.0-rc5 è stato rilasciato.