Improve handling of conditions in AST generation
The AST generation algorithm seems to perform boolean expression normalization when generating conditions. The implementation of the normalization algorithm seems to have significant performance issues that need to be addressed. If non-trivial transformations are required, the incorporation of an external library for this task should be considered.
Update: Handled as a part of the a wider AST generator rewrite, incorporating the Clang AST. Conditions will be handled as closely as to how the handling is specified by the original paper.
Update: Initial support for acyclic CFG regions in 4b852912
Update: Initial support for cyclic regions in ce6ce93
Large reaching conditions still seem to be a problem though. This is going to be fixed by bringing in z3 and it's AIG based boolean simplifier. For this purpose a clang AST <-> z3 expression interface will be written.