È stata rilasciata una nuova versione di QBE, un backend universale per la creazione di compilatori.
Rispetto al più vicino analogo (LLVM), QBE si distingue per una base di codice molto più semplice, elevate velocità di esecuzione e di compilazione (QBE si compila dagli sorgenti in meno di un secondo su Core2Duo) e un API più amichevole per i programmatori, inclusa una lingua intermedia (IL) più semplice. Tuttavia, QBE non è progettato per la creazione di compilatori industriali con elevate esigenze di qualità del codice generato, ma è ben adatto per progetti hobby e prototipi.
È supportata la generazione di codice binario per le architetture x86_64, AArch64 e RISC-V (rv64). Tra i progetti che utilizzano QBE ci sono i compilatori del linguaggio C cproc, SCC, PACC, oltre ai compilatori dei linguaggi Hare e Antimony. QBE è anche utilizzato nel corso di sviluppo di compilatori presso l'istituto di programmazione dei sistemi dell'Accademia delle Scienze russa intitolato a V.P. Ivan'nikov.
Tra le novità del nuovo rilascio:
- Supporto aggiunto per Windows ABI;
- Nuove ottimizzazioni che velocizzano il codice generato. In media, nei test, le prestazioni del codice generato da QBE sono circa il 63% delle prestazioni del codice generato da GCC;
- Migliorato il supporto per la generazione di PIE (codice indipendente dalla posizione).
Il codice è scritto in linguaggio C (C99) e distribuito con licenza MIT.
Fonte: linux.org.ru
