jthackray wrote: I'm closing this PR, and splitting it into 2 stacked PRs: - https://github.com/llvm/llvm-project/pull/203563 - https://github.com/llvm/llvm-project/pull/203564 for easier reviewing https://github.com/llvm/llvm-project/pull/187004