\section{Line Counts} \begin{Table}{|l|r|r|}{align=right} \hline & SML/NJ & MLRISC \\ \hline \begin{color}{#00aa00}Generic\end{color} & 3,023 & 6,814 \\ \begin{color}{#00aa00}Hppa\end{color} & 725 & 2,285 \\ \begin{color}{#00aa00}Alpha\end{color} & 614 & 2,316 \\ \hline TOTAL & 4,362 & 11,415 \\ \hline \end{Table} The table shows the number of lines involved in a basic MLRISC code generator for SML/NJ that only does graph coloring register allocation. The SML/NJ column shows the number of lines specific to SML/N and the MLRISC column shows the number of lines specific to MLRISC. The \begin{color}{#00aa00}Generic\end{color} shows the number of lines that are target independent for both SML/NJ and MLRISC. The \begin{color}{#00aa00}Hppa\end{color} and \begin{color}{#00aa00}Alpha\end{color} shows the number of lines that are target dependent for both the HP Hppa and DEC Alpha targets. The bulk of the \sml{3,023} generic to SML/NJ is involved in the generation of MLRisc trees. Once this is done the incremental cost of adding a target is between \sml{600} to \sml{700} lines. The MLRISC column shows that the bulk of MLRISC is quite generic and a client is saved from writing \sml{11,415} lines of code. \begin{Table}{|l|r|r|}{align=left} \hline & SML/NJ & MLRISC \\ \hline \begin{color}{#00aa00}Generic\end{color} & 121 + 3,023 & 15,686 + 6,814\\ \begin{color}{#00aa00}Hppa\end{color} & 32 + 725 & 920 + 2,285 \\ \begin{color}{#00aa00}Alpha\end{color} & 614 & 2,316 \\ \hline TOTAL & 153 + 4,362 & 16,606 + 11,415 \\ \hline \end{Table} If one were to include the preliminary numbers for global acyclic scheduling in the above table, we find that the incremental cost required by the client is quite small -- approximately \sml{153} lines of which \sml{121} are generic. However, the scheduling infra structure is quite large, a lot of it being quite generic. \br{left=clear}