Я тут не так давно свой язык программирования писал, на питоне, с кодогенерацией LLVM. Про парсеры я уже писал, теперь немного про кодогенерацию.
llvmlite – более-менее дружелюбный генератор LLVM от авторов Numba. Многие фичи не завезли, документации маловато (особенно примеров), но это лучшее, что есть, к сожалению. Из альтернатив только llvmpy, и с ним работать больно.
Mapping High Level Constructs to LLVM IR – шпаргалка по имплементации всяких хитрых штук, типа лямбд и Union-типов. Отличная штука. Жалко, что заброшена, хотелось бы больше материала.
Написать свой язык было довольно полезно, чтобы понять, как языки делать не надо.