> Yet why do languages end up depending on LLVM and not implement these algorithms on their own and avoid a monstrous dependency?
That's like asking why construction companies rely on cranes, concrete and steel rebar when they can be using sticks, leaves and vine.
LLVM is so mature that it's hard to improve it. If you don't care about the performance of your languages code then fine, use leaves and sticks and moderate winds will knock down your shelter.