Index: www/trunk/OpenProjects.html =================================================================== --- www/trunk/OpenProjects.html +++ www/trunk/OpenProjects.html @@ -16,6 +16,9 @@
+Desirable skills: Intermediate knowledge of C++.
+ + + + +Description of the project: Dominance relation is used widely in many compiler analyses and optimizations. LLVM provides an implementation of the (Semi-NCA) Depth Based Search algorithm to incrementally update Dominator and PostDominator Trees. It it possible to use it directly or through a lazy updater object -- DeferredDominance. The current API is fragmented and different analyzes, transforms, and utilities (e.g. Local.cpp, LoopUnroll.cpp) have to decide how to perform incremental updates. +
+The fix would be to design and implement a new class for abstracting away how tree updates are performed (eagerly or lazily) and which trees are actually being updated (none, only DomTree, only PostDomTree, both). With this, performing faster incremental updates will become possible by first updating DomTree, and then using the result to prune unnecessary updates to PostDomTree.
+ +Expected Results: +
Confirmed Mentor: Jakub Kuderski, Tobias Grosser (?)
+Desirable skills: Intermediate knowledge of C++. Familiarity with basic tree/graph algorithms and data structures.
+