Оглавление
- 1 Цепочка определения использования
- 1.1 Определение и использование цепочек в информатике
- 1.2 Роль цепочек в оптимизации компилятора
- 1.3 Процесс разделения переменных
- 1.4 Процесс определения и использования переменных
- 1.5 Исполнение и определение в операторах
- 1.6 Пример выполнения для алгоритма поиска gcd
- 1.7 Алгоритм построения цепочки определения использования
- 1.8 Цели построения цепочки определения использования
- 1.9 Рекомендации
- 1.10 Полный текст статьи:
- 2 Цепочка «использовать-определить» — Википедия
Цепочка определения использования
-
Определение и использование цепочек в информатике
- Цепочка определения использования (UD-цепочка) представляет собой структуру данных, состоящую из использования переменной и всех ее определений.
- Цепочка определение-использование (DU-цепочка) включает определения переменной и все ее применения.
- Анализ потока данных используется для создания цепочек UD и DU.
-
Роль цепочек в оптимизации компилятора
- Знание цепочек определения-использования важно для оптимизации компилятора, включая постоянное распространение и устранение общих подвыражений.
-
Процесс разделения переменных
- Разделение диапазона в реальном времени позволяет разделить переменные на две отдельные переменные.
-
Процесс определения и использования переменных
- Определение переменной происходит в левой части оператора присваивания, а использование – в правой части.
- Переменная может иметь несколько определений и использоваться в разных операторах.
-
Исполнение и определение в операторах
- Определение в операторе активируется в точке его использования и уничтожает все предыдущие определения для этой переменной.
-
Пример выполнения для алгоритма поиска gcd
- Для поиска цепочек определения использования переменной d в алгоритме поиска gcd необходимо выполнить поиск при первом определении и первом чтении переменной.
-
Алгоритм построения цепочки определения использования
- Для построения цепочки определения использования необходимо установить определения в инструкции s(0) и найти текущие определения, используемые в инструкции s(i).
- Инструкция s(i) должна быть установлена как утверждение определения, а предыдущие определения должны быть уничтожены.
-
Цели построения цепочки определения использования
- На основе использования и определений создается направленный ациклический граф, определяющий зависимость данных и частичный порядок между операторами.
- Список назначений динамических переменных формируется на основе использования и определений.
-
Рекомендации
- Приведены рекомендации по использованию цепочек определения-использования для оптимизации компилятора и понимания работы алгоритмов.