Разработка компиляторов на основе формы SSA
Перед вами всестороннее руководство по использованию представления SSA (Static Single Assignment) в современном оптимизирующем компиляторе. В нем показано, как форма SSA превращается из удобной теоретической модели в практический фундамент для анализа программ, оптимизации и генерирования эффективного машинного кода. Авторы подробно рассматривают алгоритмы, инженерные решения и расширения SSA, применяемые в промышленных компиляторах.
Среди основных тем книги:
- построение и деструкция формы SSA;
- разреженный анализ потока данных;
- живучесть, индуктивные переменные и устранение избыточности;
- расширения SSA (ψ-SSA, HSSA, форма для массивов и памяти);
- выбор команд и преобразования управления;
- распределение регистров и генерация машинного кода;
- применение SSA в аппаратной компиляции и в реальных компиляторах.
Издание адресовано разработчикам компиляторов, специалистам по оптимизации программ, исследователям и студентам, стремящимся детально изучить принципы устройства и работы современных компиляторов.
Первоначальное название было изменено для более точного отражения содержания книги.