\subfloat[Optimized data flow graph]{\label{fig:innerSCCoptimized}
\begin{tikzpicture}
\path
( 0, 0) node (other) {$\phi_0$}
+(-0.5, 1) node (x) {$x$}
+( 0.5, 1) node (y) {$y$}
+(-1, 0) node (one) {$1$}
++( 0, -1) node (outer1) {$\phi_1$}
+(-1, 0) node (plus) {$+$}
++( 0, -3) node (outer2) {$\phi_2$}
+(-1, -1) node (use) {}
;
\node at (1.2,0) {};
\draw[-latex] (other) -> (x);
\draw[-latex] (other) -> (y);
\draw[-latex] (plus) -> (one);
\draw[-latex] (plus) -> (other);
\draw[-latex,overlay] (outer1) .. controls (1.5,1) and (1.5,-7) .. (outer2);
\draw[-latex] (outer1) -> (other);
\draw[-latex] (outer2) -> (outer1);
\draw[-latex] (outer2) -> (plus);
\draw[-latex] (use) -> (outer2);
\end{tikzpicture}
}
\hfill
\caption{Some algorithm~\cite{braun13cc} detects the inner SCC spanned by $\phi_3$ and $\phi_4$. This SCC represents the same value. Thus, it gets replaced by $\phi_2$.}
Für Firm-Graphen die bei uns im Compilerbau häufig vorkommen,
haben wir ein extra TiKZ Paket gebaut.
Dieses erleichtert das Zeichnen von Graphen,
die wie yComp aussehen.
Ein Beispiel ist in \autoref{fig:firm} zu sehen.
\begin{pgfonlayer}{background}
\tikzselect{0.6}{
(inner1.west) (inner1.north) (inner1.east)
(inner2.east) (inner2.south) (inner2.west)
}
\end{pgfonlayer}
\end{tikzpicture}
}
\hfill
\subfloat[Optimized data flow graph]{\label{fig:innerSCCoptimized}
\begin{tikzpicture}
\path
( 0, 0) node (other) {$\phi_0$}
+(-0.5, 1) node (x) {$x$}
+( 0.5, 1) node (y) {$y$}
+(-1, 0) node (one) {$1$}
++( 0, -1) node (outer1) {$\phi_1$}
+(-1, 0) node (plus) {$+$}
++( 0, -3) node (outer2) {$\phi_2$}
+(-1, -1) node (use) {}
;
\node at (1.2,0) {};
\draw[-latex] (other) -> (x);
\draw[-latex] (other) -> (y);
\draw[-latex] (plus) -> (one);
\draw[-latex] (plus) -> (other);
\draw[-latex,overlay] (outer1) .. controls (1.5,1) and (1.5,-7) .. (outer2);
\draw[-latex] (outer1) -> (other);
\draw[-latex] (outer2) -> (outer1);
\draw[-latex] (outer2) -> (plus);
\draw[-latex] (use) -> (outer2);
\end{tikzpicture}
}
\hfill
\caption{Some algorithm~\cite{braun13cc} detects the inner SCC spanned by $\phi_3$ and $\phi_4$. This SCC represents the same value. Thus, it gets replaced by $\phi_2$.}