Расширенный базовый блок - Extended basic block

В вычисление, расширенный базовый блок[1][2] это собрание базовые блоки кода в программа с определенными свойствами, которые делают их легко поддающимися оптимизации. Много оптимизация компилятора работают на расширенных базовых блоках.

Определение

Расширенный базовый блок - это максимальный набор базовых блоков, в котором:

  • только первый базовый блок может иметь несколько базовых блоков-предшественников;
  • все другие базовые блоки имеют один единственный базовый блок-предшественник, который должен входить в набор базовых блоков.

Использует

Многие локальные оптимизации, которые работают с базовыми блоками, можно легко расширить для работы с расширенными базовыми блоками. Примером является исключение общего подвыражения который удаляет повторяющиеся выражения. В простейшем виде это локальная оптимизация, работающая только с базовыми блоками.[3]

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

Примечания

  1. ^ Купер, Кейт Д. и Торчон, Линда, Разработка компилятора, Морган Кауфманн, 2004 г., ISBN  1-55860-699-8 стр. 405
  2. ^ Стивен С. Мучник Расширенный дизайн и реализация компилятора, Издательство Морган Кауфманн, 1997. ISBN  1-55860-320-4 стр. 175
  3. ^ «Архивная копия». Архивировано из оригинал на 2014-05-15. Получено 2012-07-04.CS1 maint: заархивированная копия как заголовок (связь)

внешняя ссылка