My guess would be that the choice would have gone the same way if gcc were BSD (although then, Clang might have been a gcc fork), but that it did not help that it was GPL, as their lawyers could not guarantee that incorporating GPL in their libraries would be possible without releasing them as GPL. I would not blame them, as there is little jurisprudence related to that issue, and certainly no worldwide agreement.
I feel the most fundamental motivating factor for the llvm project was Clang.
The gcc code generator could be improved, but is fundamentally usable for all things it needs to be used for. But the static analysis that Apple wants to do really is fundamentally incomparable with gcc.
eeh? iirc LLVM precludes Clang by atleast 5 years and LLVM was initially created to replace GCC's backend while using it's frontend (in fact during most of it's lifetime LLVM has relied entirely on GCC as a frontend and it still uses it through the dragonegg GCC plugin).
Sure, I have no doubt that Apple's sponsoring/stewardship of llvm is entirely fueled by them wanting a full toolchain which they can incorporate into their proprietary solutions and Clang is obviously a result of that (it's functionality reflects exactly what Apple want, C, C++ and ObjC support).
That said llvm was already 5 years into the making when Apple came and hired Chris Lattner (one of the original creators of llvm) so they have no say on the initial aim of the project which again was to be a backend replacement for gcc.
The more blatant example is the restrictions they impose on code they don't ship: their app store policies make it impossible to distribute GPL code.