After offline discussion we agreed that we should start from unittests explaining/triggering the problem(s) we are fixing here. http://llvm-reviews.chandlerc.com/D2470