For what it's worth, LLVM would have made precise moving GC hard. (Though Go 6g/8g still doesn't have moving GC, which is unfortunate.) For that reason, I'm not certain that LLVM would have been the best decision in the long term, though it would have made Go code faster in the short term.
In my view, if Cranelift had been around when Go was announced, it would have been the clear best choice over LLVM, due to compile times and relative simplicity allowing for easy modifications to add things like precise moving GC and moving stacks.
Yes, because we all enjoy waiting for a compiler to get its work done, while keeping the myth alive that either C or C++ are required to write compilers.
In my view, if Cranelift had been around when Go was announced, it would have been the clear best choice over LLVM, due to compile times and relative simplicity allowing for easy modifications to add things like precise moving GC and moving stacks.