> 2. The Rust frontend has historically abused the LLVM backend badly, by feeding it large amounts of barely optimized code. This is being worked on, but it's going to take a while.
Yes, it's taken a _long time_ to pay down the technical debt from writing a compiler in itself for years. A huge step forward for doing so landed fairly recently, MIR, so progress is being made. It's already resulted in significant improvements, and will lead to more in the future.