Der nye version af QBE er udgivet – et universelt backend til opbygning af compilere.
QBE adskiller sig fra den nærmeste analog (LLVM) ved en betydeligt enklere kodebase, højere hastighed og hurtigere bygger (QBE kan bygges fra kildekoden på under et sekund på en Core2Duo) samt et mere udviklervenligt API, herunder et enklere mellemformat (IL). QBE er dog ikke beregnet til at opbygge industrielle compilere med høje krav til kvaliteten af den genererede kode, men det er velegnet til hobbyprojekter og prototyper.
Generering af binærkode understøttes for arkitekturerne x86_64, AArch64 og RISC-V (rv64). Blandt projekterne, der bruger QBE, kan nævnes compilere til C-sprog som cproc, SCC, PACC samt compilere for sprogene Hare og Antimony. QBE bruges også i forbindelse med kursus i compilerudvikling på V.P. Ivannikov Institute for System Programming.
Blandt ændringerne i den nye udgave:
- Støtte til Windows ABI er tilføjet;
- Nye optimeringer, der fremskynder den genererede kode. I gennemsnit udgør præstationen fra QBE-koden omtrent 63% af præstationen fra GCC-kode;
- Forbedret støtte til generering af PIE (positionuafhængig kode).
Koden er skrevet i C (C99) og distribueres under MIT-licensen.
Kilde: linux.org.ru
