From: Matthijs Kooijman Date: Mon, 15 Sep 2008 11:05:05 +0000 (+0200) Subject: Add a Results section in the Problems chapter. X-Git-Tag: Report-final~4 X-Git-Url: https://git.stderr.nl/gitweb?a=commitdiff_plain;h=90643309f86996e21c5b287ab0cfedb04ce020ce;p=matthijs%2Fprojects%2Finternship.git Add a Results section in the Problems chapter. --- diff --git a/Report/Main/Problems.tex b/Report/Main/Problems.tex index 22151ac..db1cfbb 100644 --- a/Report/Main/Problems.tex +++ b/Report/Main/Problems.tex @@ -3,3 +3,4 @@ This chapter will describe the problems that were part of the assignment and the challenges faced while solving those problems. \input{Main/Problems/Assignment} \input{Main/Problems/Challenges} +\input{Main/Problems/Results} diff --git a/Report/Main/Problems/Results.tex b/Report/Main/Problems/Results.tex new file mode 100644 index 0000000..901472d --- /dev/null +++ b/Report/Main/Problems/Results.tex @@ -0,0 +1,37 @@ +\section{Results} +Now we've seen the challenges encountered during the internship, what results +were actually achieved? + +\subsection{LLVM improvements} +During the entire internship, both small and big improvements have been made to +the LLVM codebase. Most of these changes are directly useful for the MontiumC +compiler, some only indirectly. Examples of these improvements include better +support for struct types, better documentation of the testing framework and a +lot of small fixes and changes to make LLVM more flexible and extendable. + +\subsection{MontiumC improvements} +Improvements made to the MontiumC language are mostly limited to making the +langauge better specified. Things which had limited support now either have full +support, or were removed from the language. + +Usage of global variables, struct variables, arguments and returns values and +constant arguments is now possible in most cases, where it only was possible in +some specific cases before. + +Additionally, there has been some experimenting with new MontiumC features, such +as C style memory access and loops. So far, these features have not received +enough work in both the frontend as the backend to be supported in the language +yet. + +\subsection{Frontend improvements} +The MontiumC frontend has seen a lot of improvements. + +Part of these improvements are to make the language more stable. This was mostly +done by completely reviewing the set of LLVM transformation passes and selecting +a subset that fits the MontiumC language. Addtionally, some transformation +passes were added, which also make the backend simpler (for example, +reducing variable lifetimes, global variable removal, function specialization). + +Other improvements cause the frontend to become more usable as a program. These +include improved error handling, extra configurability through commandline +options and support for linking multiple files together.