erichkeane abandoned this revision. erichkeane added a comment. Completely superceededby this patch here: https://reviews.llvm.org/D40819 Since that one is a complete redesign/reimplementation, I'd prefer to do it separately. https://reviews.llvm.org/D38596