SSA
В конструировании компиляторов 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.
См. также
Ссылки
- Steven Bosscher и Diego Novillo. GCC gets a new Optimizer Framework. Статья об использовании SSA-представления в GCC.
- The SSA Bibliography. Каталог исследовательских статей по SSA-представлению.
- F.K. Zadeck. "The Development of Static Single Assignment Form", Рассказ о корнях SSA-представления в Декабре 2007.
en:Static single assignment form ja:静的単一代入 sv:SSA (static single assignment form) zh:静态单赋值形式
Если вам нравится SbUP.com Сайт, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....