20613

Устранение общих подвыражений

Лекция

Коммуникация, связь, радиоэлектроника и цифровые приборы

2 Удаление бесполезного кода Допустим имеем следующую последовательность инструкций 3 Оптимизация циклов Пример 1: Пусть имеем цикл while i n2 Возможно модернизировать в следующую последовательность инструкций t:=n2 while i t Пример 2: while i t a:=b2 при условии что b не изменяется в теле цикла данную последовательность инструкций можно заменить на: a:=b2 while i t Метод перемещения кода заключается в выносе перед циклом выражений не изменяющихся в процессе его выполнения. 4 Переменные индукции и снижение стоимости 5 Оптимизация...

Русский

2013-07-31

92 KB

1 чел.

Лекция №14.

Устранение общих подвыражений

1) Распространение копий

Использование после инструкции вида f := g переменной g  вместо f, где это возможно.

Переменная х на выходе оказалась не живой, следовательно ее можно удалить.

Пример:

после оптимизации избавились от дорогостоящей операции сложения.

2) Удаление бесполезного кода

Допустим, имеем следующую последовательность инструкций

3) Оптимизация циклов

Пример 1:

Пусть имеем цикл

while i<n-2

Возможно модернизировать в следующую последовательность инструкций

t:=n-2

while i<t

Пример 2:

while i<t

a:=b*2

при условии, что b не изменяется в теле цикла, данную последовательность инструкций можно заменить на:

a:=b*2

while i<t

Метод перемещения кода заключается в выносе перед циклом выражений, не изменяющихся в процессе его выполнения.

4) Переменные индукции и снижение стоимости

5) Оптимизация базовых блоков на основе дагов

Пример:

Пусть имеется следующая последовательность инструкций

a:=b+c

b:=a-d

c:=b+c

d:=a-d

При условии, что b на выходе не является живой переменной после оптимизации данную последовательность можно заменить на следующую

a:=b+c

d:=a-d

c:=d+c

Из дага удаляются все корни (т.е. узлы без предков), которые не имеют живых переменных или таковые переменные вписанные как дополнительные в существующие узлы.

6) Использование алгебраических тождеств

  1.  х+0=х-0=0+х=х
  2.  х/1=х*1=1*х=х
  3.  х**2=х*ч
  4.  х*2=2*х=х+х
  5.  замена констант

Пример:

a:=b+c

b:=b-d

c:=c+d

e:=b+c

e:=b+c    b:=b-d

e:=b-d+c    a:=b+c

e:=a-d

После выполненных преобразований исходная последовательность инструкций примет вид:

a:=b+c

c:=c+d

e:=a-d

7)Рассмотрение циклов в графах потоков

Узел d графа потока доминирует над узлом n, если любой путь из начального узла графа потока в узел n проходит через d.

d    dom    n

Таким образом, вход в цикл доминирует над всеми узлами цикла.


 

А также другие работы, которые могут Вас заинтересовать

75008. Хімічна мозаїка, Сценарій з хімії 61 KB
  Ведуча: Вогонь у темряву ночей Приніс на землю Прометей. Ведуча доторкаючись до вогню: Я стверджую категорично: Реакція екзотермічна дує на палець. Ведуча звертається до кухаря: За сіль ви не забули друже Її відсутність не байдужа...
75009. Музыкальный тайник, внеклассное мероприятие для 7 класса 199 KB
  Мотивация интереса к непопулярным» музыкальным жанрам; пробуждение у учащихся заинтересованность в изучении предмета; активизация мыслительной и речевой деятельности; развитие музыкальной эрудиции, логического мышления; воспитание музыкально-познавательных потребностей и интересов в приобретении основы музыкально – исторических знаний, лидерских и коммуникативных качеств личности.
75010. Мусор – глобальная проблема человечества. Урок для устойчивого развития по программе «Моя счастливая планета» в 3-А классе 59 KB
  Цель урока: познакомить учащихся с терминами экология экологическая безопасность формировать представления об источниках и способах утилизации бытового мусора научить выполнять правила личной экологической безопасности познакомить с экологическими проблемами современности и путями их решения формировать ответственное отношение к использованию природных ресурсов земли.
75011. Відкриття музею історії козацтва, виховний захід 193.08 KB
  Карабинівці понад двісті років. Визнала вона і знущання панів Карабінова та Мизгова, і лихоліття громадянської війни, і голодомор, і трагічні події Великої Вітчизняної війни та вистояла. Сьогодні Карабинівка - одне з найкращих сіл Павлоградщини...
75012. Веснянки, виховний захід 60 KB
  Янушкевич веснянка А вже весна з опери Зима і весна М.Лисенка Хор А вже весна з опери Зима і весна. Діалог Діти а якою ви собі уявляєте весну Та яка ж весна без квітів Які ви знаєте весняні квіти Але першою розпускається гілочка верби а її розквітлі бруньки як називаються Котики Чи бачили ви їх які вони...
75013. Интонация – основа музыки, План-конспект урока музыки в 3 классе 332.5 KB
  Цели: Обучающая: формировать предметные компетентности: вокально-хоровую умение петь вокально правильно на дыхании музыкально-ритмическую умение выдерживать ритм и темп в движении под музыку исполнительскую умение выразительно и правильно передавать музыкальный образ...
75014. Интонационное и исполнительское развитие музыки 152.5 KB
  Тема урока: Интонационное и исполнительское развитие музыки Игра в слова. Разные ребята Цели урока: Обучающие: дать понятие о развитии интонации с помощью каких средств выразительности она развивается введение понятий лад мажор минор работать над чистотой интонирования...
75015. Українські народні думи, Відкритий урок у 4-му класі 118.5 KB
  Українські народні думи. Сьогодні на уроці прозвучать особливі своєрідні вокальні фольклорні твори думи. Боротьба українського народу за свободу і незалежність зумовила виникнення дуже відомого нині жанру народної творчості думи.
75016. Народная песня в симфонической музыке 44 KB
  Углубить представления учащихся о народной песне, определить связь между народным и профессиональным творчеством; определить народно-песенные истоки Второй симфонии...