Оптимизирующие компиляторы (МФТИ, 2024). Лекция 10. Разрушение SSA.

Лекции по компиляторам для свежих интернов базовой кафедры в МФТИ. Пришла пора разрушить то, что мы так тщательно строили и чем так долго пользовались. Это будет не так просто и процесс будет иметь некоторые нюансы. И, конечно же, после разрушения SSA представления, нам всё ещё будет чем заняться. Например распределением регистров, рематериализацией значений, планированием инструкций и разрывание антизависимостей. Мы увидим как отлично зарекомендовавший себя в выборе инструкций подход через квадратичное булево программирование поможет нам с иррегулярными архитектурами. В конце нас ждут последние задания и последняя литература. На этом с вами прощается курс, но, конечно не компиляторная теория. Она гораздо глубже, богаче и интересней, чем это поверхностное введение и ей легко можно посвятить много лет или даже всю жизнь. Теперь, когда вы в общих чертах понимаете что именно делает оптимизирующий компилятор, вы готовы к этому путешествию. Возьмите с собой в эту дорогу этот курс и написанную автором курса книгу. И я надеюсь вам понравилось. Лектор: Константин Владимиров Видео и звук: Юлий Тарасов Предыдущая лекция:    • Оптимизирующие компиляторы (МФТИ, 2024). Л...   Следующая лекция: нет, это последняя лекция Слайды к занятиям:
Книга:
Timeline 00:00 Семантические сети 06:50 Разрушение SSA 11:46 Распределение регистров 16:10 Спиллы и рематериализация 25:51 Линейное сканирование 29:40 Нерегулярные архитектуры и PBQP 35:05 Планирование инструкций 42:54 Антизависимости 47:35 Планирование критического пути 53:28 Задачи и литература Errata пока пусто

Смотрите также