https://github.com/nikic approved this pull request. LGTM, but it would probably make sense to make BlockByCopyDecls a SetVector, instead of having separate vector and set. https://github.com/llvm/llvm-project/pull/109605