Yeah, phab makes this patch hardly readable. Much better displayed in meld, where it's pretty obvious I've just moved code around and re-grouped it in functions. http://llvm-reviews.chandlerc.com/D1161