This relands commit 847b5f82a4a34218bf16d6f83f1b7c32df3117ba. Differential Revision: https://reviews.llvm.org/D138079