• Keine Ergebnisse gefunden

Karlsruher Institut f¨ur Technologie Lehrstuhl f¨ur Programmierparadigmen

N/A
N/A
Protected

Academic year: 2022

Aktie "Karlsruher Institut f¨ur Technologie Lehrstuhl f¨ur Programmierparadigmen"

Copied!
1
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Karlsruher Institut f¨ ur Technologie

Lehrstuhl f¨ ur Programmierparadigmen

Sprachtechnologie und Compiler, Sommersemester 2014 Dozent: Prof. Dr.-Ing. G. Snelting

Ubungsleiter: Sebastian Buchwald¨ Sebastian.Buchwald@kit.edu Ubungsblatt 10¨ Ausgabe: 1.7.2014 Besprechung: 7.7.2014

Aufgabe 1:SSA-Form und Datenflussanalysen Gegeben sei das folgende Programm:

i n t f ( ) { x = . . . ; y = . . . ;

i f ( . . . ) { while ( . . . ) {

t = x ; x = y ; y = t ; }

}

return x ; }

1.1SSA-Aufbau

Uberf¨¨ uhren Sie das Programm in SSA-Form und geben Sie den zugeh¨origen Kontrollflussgraphen an.

1.2Dominanzbaum

Geben Sie den Dominanzbaum zu ihrem Kontrollflussgraphen an.

1.3Sichtbare Definitionen

F¨uhren Sie eine Reaching-Defintions-Analyse auf ihrem SSA-Programm durch. Was f¨allt Ihnen auf?

1.4Lebendigkeitsanalyse

F¨uhren Sie eine Lebendigkeitsanalyse auf ihrem SSA-Programm durch. Welche Besonderheiten treten im Zu- sammenhang mitφ-Funktionen auf?

1

Referenzen

ÄHNLICHE DOKUMENTE

(5) Alle Strings aus a und b mit einer geraden Anzahl von a und einer ungeraden Anzahl von b (Denksport- aufgabe). Aufgabe 4: Regul¨ are

Enth¨ alt die Zahl einen Punkt, so darf der Buchstabe e oder E angeh¨ angt werden, gefolgt von einem optionalen + oder - und weiteren Ziffern.. Zus¨ atzlich soll bei T NUMBER Tokens

Wenn wir versuchen, eine LR- Parsertabelle daf¨ ur zu erstellen, ergeben sich Konflikte zwischen einigen Aktionen.. Welche

Wie kann man dies anhand der Parsertabelle begr¨

Ubersetzen Sie den Ausdruck ¨ this.x = 32 - this.foo()[2] in Java Bytecode, geben Sie auch einen passenden Konstantenpool an?. (foo ist eine

Idee: durchlaufe Programm r¨ uckw¨ arts, ab einer Benutzung ist eine Variable lebendig, ab einer Definition tot?. gen enth¨ alt Variablen die Benutzt werden, kill Variablen

Erweitern Sie ihren Verband und die dazugeh¨ origen Transferfunktionen, um das gefundene Problem zu beheben.. F¨ uhren Sie eine Fixpunktiteration mit den erweiterten

Schreiben Sie mehrere kleine Testprogramme und vergleichen Sie den generierten x86-64-Assemblers f¨ ur zwei optimierende Compiler.. K¨ onnen Sie