Feb 11, 2020 18:54
Открыл для себя кодогенерацию в LLVM - целая иерарахическая инфраструктура для разных процессоров, включая RISC-V и SPARC. Даже R6000 поддержан (он еще где-то работает?). Удобно тем, что можно строить (вернее - транслировать из уже преобразованного из синтаксического дерева, с развернутыми в цикл рекурсивными вызовами и проч.) абстрактный граф выполнения, из которого выльется реальный поток инструкций для выбранного процессора - готовый obj-файл по сути. Аллокация стека, прологов/эпилогов функций и прочего там разумеется тоже есть.
программаж