Оптимизация кода
Основная цель фазы оптимизации(code optimization)заключается в преобразовании промежуточного представления программы в целях повышения эффективности результирующей объектной программы. Отметим, что существует различные критерии эффкетивности, например, скорость исполнения или объем памяти, требуемый программе. Очевидно, что все преобразования, осуществляемые на фазе оптимизации, должны приводить к программе, эквивалентной исходной.
Некоторые оптимизации тривиальны, другие требуют достаточно сложного анализа программы. В лекциях 11 и 12 мы рассмотрим анализ потоков управления программы и анализ потоков данных. Затем в лекции 13 мы рассмотрим сам этап оптимизации программ и рассмотрим наиболее распространенные оптимизации:
константные вычисления
уменьшение силы операций
выделение общих подвыражений
чистка циклов и т.д.
- Лекция 3. Основы компиляторов
- Основные задачи компиляторов
- Интерпретатор
- Компилятор
- Объектная программа
- Трансляция в ассемблер
- T-диаграммы
- Методики создания компилятора
- Метод раскрутки
- Кросс-транслятор
- Виртуальная машина
- Компиляция "на лету"
- Фазы компиляции
- Лексический анализ
- Синтаксический анализ
- Видозависимый анализ
- Оптимизация кода
- Генерация кода
- Внешний и внутренний интерфейсы
- Просмотры
- Техника "заплат"
- Литература к лекции