nikolaypanchenko wrote: I split the original changeset into 3 pieces as @Dinistro recommended: [1](https://github.com/llvm/llvm-project/pull/74780), [2](https://github.com/llvm/llvm-project/pull/74781) and 3 is this PR itself https://github.com/llvm/llvm-project/pull/74664