I just had a thought. Now that every logical operator's LHS is actually bound with true or false, do you need to keep all leaves live any more? It seems like the information you need at any particular point is always in an immediate child. http://llvm-reviews.chandlerc.com/D1340 BRANCH tmp ARCANIST PROJECT clang