Misc fixes and rewordings.
[matthijs/projects/internship.git] / Report / Main / Future.tex
index 02251747db67c2c171d130858531b2d00a2e24a0..3246baba351fe8d58ca9987fb3383175fb5a855e 100644 (file)
@@ -17,17 +17,23 @@ help to fine tune the specifications and find bugs in the frontend.
 \section{Debug info preservation}
 \label{PreserveDebug}
 Currently, transformation passes are mostly ignorant about debugging info, they
-treat it as ordinary code. Since debugging info is added to LLVM code by means
-of special function calls and transformations by default assume that an unknow
-function can do anything, this means that adding debug information can prevent
+treat it as ordinary code. Debugging info is added to LLVM code by means
+of special function calls. Transformations by default assume that an unknown
+function can do anything, which means that adding debug information can prevent
 transformations from happening. Making transformations aware of debugging info
 will allow them to perform transformations as normal, by updating or removing
 debugging info.
 
+Currently, the frontend supports the emission of debugging info, which
+the backend can use to improve it's error messages. To still perform all
+the needed optimizations, LLVM was patched to ignore debug info in a
+specific situation. This is not a long term solution, which requires
+more invasive changes to LLVM.
+
 These changes are generic for LLVM and not needed specifically for the Montium.
-Currently, most MontiumC code seems to still work even when some transformations
-are left out, but especially with the new hardware, some missed out
-optimizations might still be useful.
+Currently, most MontiumC code seems to still work with only a little
+change to LLVM, but especially with the new hardware, some missed out
+optimizations might become more useful.
 
 \section{LLVM based backend}
 Currently, the frontend is using the LLVM framework, while the backend is