david-arm wrote: Perhaps I'm missing something, but I don't really understand the goal of this PR. Is this refactoring code in preparation for future work? Or is it attempting to reduce compile time, improve readability, etc? https://github.com/llvm/llvm-project/pull/165862