Я не пишу компилятор, но почему бы не просто постепенно оптимизировать части вашего кода, постоянно профилируя?
Моя схема оптимизации обычно идет:
1) убедитесь, что программа работает
2) найти что-то для оптимизации
3) оптимизировать
4) сравнить результаты теста с полученными из 1; если они разные, то оптимизация - это действительно серьезное изменение.
5) сравнить разницу во времени
Постепенно я получу это быстрее.
Я выбираю, на какие части фокусироваться, используя профилировщик. Я не уверен, какую дополнительную информацию вы получите, задавая вопросы авторам компилятора.