Излезе нова версия на QBE – универсален бекенд за създаване на компилатори.
В сравнение с най-близкия аналог (LLVM), QBE се отличава с много по-проста кодова база, висока бързина на работа и компилация (самият QBE се компилира от изходен код за по-малко от секунда на Core2Duo) и по-достъпен за разработчиците API, включително по-опростен междинен език (IL). Въпреки това, QBE не е предназначен за създаване на промишлени компилатори с високи изисквания към качеството на генерирания код, но е подходящ за хоби проекти и прототипи.
Поддържа се генерирането на бинарен код за архитектури x86_64, AArch64 и RISC-V (rv64). Сред проектите, които използват QBE, можем да посочим компилаторите на езика Си cproc, SCC, PACC, както и компилаторите на езиците Hare и Antimony. QBE също така се използва в курса по разработка на компилатори в Института за системно програмиране на РАН им. В.П. Иванников.
Сред промените в новия релийз:
- Добавена е поддръжка за Windows ABI;
- Новите оптимизации ускоряват генерирания код. В тестове производителността на кода от QBE е средно около 63% от производителността на кода от GCC;
- Подобрена е поддръжката за генериране на PIE (код независимо от позицията).
Кодът е написан на езика Си (C99) и се разпространява под лицензия MIT.
Източник: linux.org.ru
