> Уверен, что нет тут никого... Методы опттимизации дерева с трехадресным кодом предмет
академических публикаций. Методы бэкенда, самой основной проблемой
из которых является register allocation problem тоже предмет
множества публикаций. Большинство компиляторов, которые тут
фигурируют, не были оригинальными разработками и отталкивались,
пусть и много лет назад от известных базовых проектов. Причем в
области фронтэнда это продолжается и по сей день, затратно самостоятельно поддерживать все стандарты. Что касается кодогенерации, мэппинга на инструкции ( то самое "у-тю-тю, глядь во что он превратил") которыми восхищаются наблюдая asm листинги, то это ни что иное как ручная работа, результат труда, многих человеко-лет по шаблонизации и изыскиванию случаев когда применяется тот или иной шаблон. Это _НЕ_ результат волшебных "методов". Это результат ad-hoc работы ручками, хотя... где-то да, можно сказать что это "ноу-хау" или результат личных находок. Примерно для тебя объясню как это пишется - существует дерево правил шаблонизации. Выборка шаблонов (т.е. конечной подстановки тех или иных инструкций) древовидна и происходит по набору условий. Когда поступает задача оптимизировать код под новый вариант процессора, проверяют флаг нового процессора и дописывают множественные веточки, где шаблон инструкций заменен на другой, такой что для данного процессора работает быстрее. И вот постоянно дорабатывая все случаи и добиваются в итоге "магии". Работа эта требует массы человечеких ресурсов. Сбрасывали это догадайся на кого, на нас, конкретно в новосибирское отделение Intel.