SSA

Материал из Seo Wiki - Поисковая Оптимизация и Программирование

Перейти к: навигация, поиск

В конструировании компиляторов SSA-представление (англ. Static single assignment form) это промежуточное представление, в котором каждой переменной значение присваивается лишь единожды. Переменные исходной программы разбиваются на версии, обычно с помощью добавления суффикса, таким образом, что каждое присваивание осуществляется уникальной версии переменной. В SSA-представлении цепочки определение-использование (англ. def-use заданы явно и содержат единственный элемент.

SSA-представление было разработано исследователями Ron Cytron, Jeanne Ferrante, Barry Rosen, Mark Wegman, и Ken Zadeck в IBM в 80-х годах.

В компиляторах функциональных языков программирования, таких как Scheme, ML и Haskell, там где обычно ожидается использование SSA-представления вместо него используется CPS-представление (англ. Continuation-passing style). Формально эти представления эквивалентны, поэтому оптимизации и трансформации сформулированные в одном из представлений могут быть применены и для другого.

Литература

  • Альфред В. Ахо, Моника С. Лам, Рави Сети, Джеффри Д. Ульман. Компиляторы: принципы, технологии и инструментарий = Compilers: Principles, Techniques, and Tools. — 2-е изд. — М.: Вильямс, 2008. — ISBN 978-5-8459-1349-4
  • Робин Хантер. Основные концепции компиляторов = The Essence of Compilers. — М.: Вильямс, 2002. — С. 256. — ISBN 0-13-727835-7
  • R. Allen, K. Kennedy. Optimizing Compilers for Modern Architectures. Morgan Kaufmann Publishers, 2002.
  • A. Appel. Modern Compiler Implementation in C. Cambridge University Press, 1998.
  • S. Muchnick. Advanced Compiler Design and Implementation. Morgan Kaufmann Publishers, 1997.

См. также

Ссылки

ja:静的単一代入 sv:SSA (static single assignment form) zh:静态单赋值形式

Источник — «http://www.sbup.com/wiki/SSA»
Личные инструменты

Served in 0.090 secs.