DCE: Verbiegen von Verzweigungen

Boddlnagg
Mausschubser
Mausschubser
Beiträge: 54
Registriert: 10. Dez 2012 12:07

DCE: Verbiegen von Verzweigungen

Beitrag von Boddlnagg »

Im Foliensatz Skalaroptimierungen wird auf Folie 19 im Pseudocode dargestellt, dass unmarkierte (nicht benötigte) Branches durch einen (unbedingten) Sprung auf den nächsten nützlichen Postdominator ersetzt werden.

Das Beispiel auf Folie 20 passt dann auch dazu, das auf Folie 21 allerdings meiner Meinung nach nicht mehr, denn hier wird NICHT ein Branch durch einen Sprung ersetzt, sondern ein Arm des Branches umgebogen. Das tut der im Pseudocode dargestellte Algorithmus aber nie, oder? Gleiches gilt für Folie 22. Klar ist ein Verbiegen, wie es auf Folie 21/22 dargestellt ist, sinnvoll. Aber der dargestellte Algorithmus tut das nicht, wenn ich ihn richtig verstanden habe (es ist wohl eher das, was CLEAN tut, der danach vorgestellt wird), deshalb sind die Beispiele an dieser Stelle zumindest unglücklich gewählt.

Xfel
Erstie
Erstie
Beiträge: 14
Registriert: 23. Mär 2013 19:20

Re: DCE: Verbiegen von Verzweigungen

Beitrag von Xfel »

Sehe ich genau so, außerdem müsste die Verzweigung am Ende des ersten Blockes auf Folie 21 markiert sein, da dieser Block ja in RDF seines nicht toten Nachfolgers ist, also hat DEAD da nichts zu ändern.

Julian Oppermann
Mausschubser
Mausschubser
Beiträge: 88
Registriert: 3. Mai 2013 19:32

Re: DCE: Verbiegen von Verzweigungen

Beitrag von Julian Oppermann »

Die Beispiele gehen davon aus, dass man beim Markieren berücksichtigt, welche Seite des Branches verwendet wird (auch wenn das nicht im Pseudocode erwähnt wird). Beim Sweepen werden dann die (Teil-)Verzweigungen zu toten Blöcken zum nächsten Postdominator umgebogen.

Antworten

Zurück zu „Archiv“