\subsection{MontiumC}
\subsection{LLVM}
\subsection{Compile process}
+
\section{Tasks}
+
\subsection{Original tasks}
\begin{frame}{Original tasks}
\begin{itemize}
\item Provide debugging information
\end{itemize}
\end{frame}
+
\subsection{Extra tasks}
\begin{frame}{Extra tasks}
\begin{itemize}
\item What is Montium IR?
\end{itemize}
\end{frame}
+
\begin{frame}{What is MontiumC?}
\begin{itemize}
\item Status: Specification is ongoing
\note[item]{Complex C --- A lot of corner cases}
\item C is limited
\note[item]{Limited C --- Need to use annotations, limited amount of types}
+ \item Assembly vs. High level
+ \note[item]{Tradeoffs -- Code size vs compiler complexity, clarity
+ vs control, clarity vs determinism}
\end{itemize}
\end{itemize}
\end{frame}
\end{itemize}
\end{frame}
+ \begin{frame}{Debugging information}
+ \begin{itemize}
+ \item Status: Not started
+ \item Challenges:
+ \begin{itemize}
+ \item Not much LLVM support yet
+ \note[item]{LLVM support --- New in clang/backend, no support in
+ transformations yet.}
+ \item Transformations
+ \note[item]{Transformations --- Global arguments, argument addition,
+ removal, etc.}
+ \end{itemize}
+ \end{itemize}
+ \end{frame}
+
\begin{frame}{Reconfigurable binaries}
\begin{itemize}
\item Status: Recently started
\item Challenges:
\begin{itemize}
- \item What to reconfigure?
+ \item Tracking variables
+ \note[item]{Tracking --- Through all steps of the process}
\item Loss of optimizations
+ \note[item]{Optimizations --- Hard to encode constraints}
+ \item Mostly a backend problem
\end{itemize}
\end{itemize}
\end{frame}
+
+\section{Work process}
+ \begin{frame}{Recore}
+ \begin{itemize}
+ \item Fast communication
+ \note[item]{Communication --- Mixed teams, easy to "listen in".}
+ \item Constructive brainstorming
+ \note[item]{Brainstorming --- Evaluating different ideas and approaches.}
+ \end{itemize}
+ \end{frame}
+
+ \begin{frame}{LLVM}
+ \begin{itemize}
+ \item Large community
+ \note[item]{Community --- Companies involved, a lot of full time
+ developers.}
+ \item Great support
+ \note[item]{Support --- mailing list, bug reports solved within 1/2 days.}
+ \item Slightly conflicting goals
+ \note[item]{Goals --- LLVM aims mainly at "regular" architectures.}
+ \end{itemize}
+ \end{frame}
+
+\section{Conclusions}
+
\end{document}