Необходимо с использованием инфраструктуры LLVM разработать оптимизатор промежуточного представления для простого языка программирования. Выходом является оптимизированное промежуточное представление программы, написанной на входном языке, в виде 3-адресного кода инфраструктуры LLVM. Фронт-энд компилятора уже имеется (написан на языке Python), необходимо написать мидл-энд компилятора. Пример синтаксиса и код фронт-энда разрабатываемого языка в архиве
https://disk.yandex.ru/d/YUSghO8Aj7yuHA. Язык разработки по желанию можно поменять, но тогда вам придется писать код фронт-энд компилятора с нуля.