Ignore diff 25077 which was unintentionally added to this review. This review has been split into http://reviews.llvm.org/D9509, http://reviews.llvm.org/D9507 and http://reviews.llvm.org/D9506 http://reviews.llvm.org/D8463 EMAIL PREFERENCES http://reviews.llvm.org/settings/panel/emailpreferences/