asbirlea accepted this revision. asbirlea added a comment. This revision is now accepted and ready to land. I like how this refactoring makes the bug resolved by the next patch more obvious. https://reviews.llvm.org/D22534