Grundlagen Registerzuteilung

This commit is contained in:
Marco Ammon 2020-06-26 21:53:28 +02:00
parent 87d6acd740
commit a5918f7686
2 changed files with 17 additions and 0 deletions

Binary file not shown.

View File

@ -326,5 +326,22 @@
\end{enumerate}
\section{Registerzuteilung}
\begin{itemize}
\item Lebendigkeit der Definition eines symbolischen Registers (einer Variable), wenn Pfad von Eintrittsknoten über Definition und Definition nach Verwendung noch gebraucht wird
\item Lebensspanne einer Definition umfasst alle Punkte, an denen Definition lebendig ist
\item Lebensspannen zweier Definitionen des selben symbolischen Registers verschmelzen, sofern sich beide überschneiden
\item Generelles Vorgehen: \begin{enumerate}
\item Konstruktion des Kollisionsgraphs:\begin{enumerate}
\item Knoten für jede Lebensspanne von symbolischen Registern
\item Kanten zwischen kollidierenden (sich überschneidende) Lebensspannen
\end{enumerate}
\item Konstruktion des Interferenzgraphs:\begin{enumerate}
\item Erweiterung des Kollisionsgraphs um einen Knoten pro realem Register
\item Einfügen von Kanten zwischen allen realen Registern (\enquote{Clique})
\item Einfügen von Kanten zwischen sich (aufgrund von Limitationen der Befehle) ausschließenden realen und symbolischen Registern
\end{enumerate}
\item Färben des Interferenzgraphs mit $r$ (Anzahl der realen Register) Farben entspricht Registerzuteilung
\end{enumerate}
\end{itemize}
%\printbibliography
\end{document}