Add a Results section in the Problems chapter.
authorMatthijs Kooijman <kooijman@eris.recoresystems.com>
Mon, 15 Sep 2008 11:05:05 +0000 (13:05 +0200)
committerMatthijs Kooijman <kooijman@eris.recoresystems.com>
Mon, 15 Sep 2008 11:05:05 +0000 (13:05 +0200)
Report/Main/Problems.tex
Report/Main/Problems/Results.tex [new file with mode: 0644]

index 22151ac5c21a1c805a40e086fae5b9ab4dab5010..db1cfbb646af6872b6ab9a080bcc6f32ddb3c7c0 100644 (file)
@@ -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 (file)
index 0000000..901472d
--- /dev/null
@@ -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.