Metody realizacji języków programowania/MRJP Ćwiczenia 8

Z Studia Informatyczne
Wersja z dnia 21:22, 1 paź 2006 autorstwa Gorecki (dyskusja | edycje)
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacjiPrzejdź do wyszukiwania

Autor: Paweł Górecki (gorecki@mimuw.edu.pl)

Zadanie 1

Zapisz algorytm

  • sortowania bąbelkowego
  • lub wyszukiwania binarnego

w postaci grafu przepływu. Wykonaj podstawowe metody optymalizacji.

Zadanie 2

Dla grafów przepływu z poprzedniego zadania. Przekształć do postaci SSA przy założeniu, że każdy element tablicy zajmuje 4 bajty, czyli np.: instrukcja

x:=a[i]

powinna być zastąpiona przez

t=4*i
x=a[t]

gdzie t jest nową zmienną. Zastosuj przemieszczanie kodu oraz znajdź kandydatów na zmienne indukcyjne i zredukuj moc.

Zadanie 3

Przekształć poniższy program (w postaci grafu przepływu) do postaci SSA i zastosuj znane Ci optymalizacje.