4 ms·
They have definitely in the past added features that they later released as part of product launches and then upstreamed, e.g. ARM64 backend or more recently -f
by aseipp 3y ago
They have definitely in the past added features that they later released as part of product launches and then upstreamed, e.g. ARM64 backend or more recently -fbounds-checks (which I think will be in the new Xcode?) Other things I don't think they ever tried to upstream e.g. I think watchOS bitcode might have been special. In the end it's basically the same reason anyone maintains a fork or a set of patches; better integration and prioritization of the things you need for your products and more control over risk, etc.
It would always be nice to slim the differences and get new releases faster though, of course.