2016-04-18 9 views
0

Ich untersuche den Vergleich zwischen Meet over all path (MOP) und Maximum Fixed Point (MFP) in Compileroptimierungen. Es wurde gesagt, dass MFP eine Teilmenge von MOP ist. Aber ich konnte kein Beispiel finden, in dem MFP und MOP unterschiedlich sind. Kann mir jemand mit irgendeinem Beispielprogramm helfen, bei dem MFP und MOP andere Ergebnisse liefern.Beispielprogramm, bei dem MOP und MFP unterschiedlich sind

Antwort

1

Es gibt ein solches Beispiel in "Monotone Data Flow Analysis Framework" von Kam und Ullman refer this.

Ein Beispielprogramm ist

if(<some codition>) { 
    A = 2; 
    B = 3; 
} 
else { 
    A = 3; 
    B = 2; 
} 
C=A+B; 

Wenn wir die konstante Ausbreitungsanalyse des obigen Programms die Variable C eine Konstante in jedem Fall in Betracht ziehen. Der Wert lautet 5, wenn die if statement-Bedingung als wahr oder falsch ausgewertet wird. Wenn wir jedoch eine Fixpunktanalyse für das obige Programm durchführen, wird die C niemals als eine Konstante betrachtet, wohingegen eine MOP-Analyse die Information liefert, dass C eine Konstante ist.