DU-цепь (англ. DU chain, def-use chain, definition-use chain — цепь «определение — использование») — структура данных, используемая в анализе потоков данных для нахождения мест использования определяемой переменной или нахождения всех мест определений значений переменных, входящих в выражение[1]. Эта структура ставит в соответствие каждому определению переменной список операторов, достижимых из определения и содержащих переменную. Аналогично, UD-цепь (англ. UD chain, use-def chain, use-definition chain) содержит для каждого случая использования переменной места её определения, из которых место использования достижимо[2].
UD- и DU-цепочки используются в статическом анализе кода, известном как анализ потока данных. Наличие UD- и DU-цепочек для программы является необходимым условием для множества оптимизаций компилятора, среди которых распространение констант и удаление общих подвыражений. Результат анализа потока данных часто можно представить как наложение цепочек на граф потока управления анализируемого кода программы[2].
Одним из улучшений идеи UD/DU-цепочек является форма статического одиночного присваивания (англ. Static Single Assignment, SSA). SSA-форма является промежуточным представлением, при котором каждая переменная имеет только одно определение в программе. Следует заметить, что (статическое) определение может находиться в цикле, выполняемом много раз, поэтому SSA не следует путать с единичным присваиванием[2].
Для улучшения этой статьи по информационным технологиям желательно: |
Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".
Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.
Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .