---
# System prepended metadata

title: LLVM 11 upgrade notes

---

# LLVM 11 upgrade notes

PR that upgraded us to LLVM 11 https://github.com/rust-lang/rust/pull/73526

## Motivation: Performance

> Final perf results are in and show a [significant and sustained improvement in wall time for optimized builds on most benchmarks](https://perf.rust-lang.org/compare.html?start=e482c86b9de32c6392cb83aa97d72e22425163f9&end=7ce71c362be9a89e7897ac066aba6e3e6f747800&stat=wall-time). Thanks all!

## Issues injected by LLVM 11 upgrade

 * https://github.com/rust-lang/rust/issues/76042
    * we have pending beta backport to fix this
    * upstream LLVM bug report: https://bugs.llvm.org/show_bug.cgi?id=47278


 * https://github.com/rust-lang/rust/issues/76980
    * no pending fix yet, but there is an MCVE; no bug filed in upstream LLVM.
  * https://github.com/rust-lang/rust/issues/76466
    * no pending fix; no bug filed in upstream LLVM. 
    * Appears to be an issue with how lld handles spaces in command line arguments.
    * Appears to be 32-bit Windows specific.
    * Not yet reproduced.

## Issues fixed by LLVM 11 upgrade

  * https://github.com/rust-lang/rust/issues/73151
  * https://github.com/rust-lang/rust/issues/73396

## Issues injected by LLVM 10 upgrade

  * https://github.com/rust-lang/rust/issues/76247
    * no pending fix; no bug filed in upstream LLVM.

## Other considerations

  * LLVM 11 is not yet released, so this means that folks using cross-language LTO have to match our custom LLVM version of clang, and can't use a normal release


## Issues not fixed nor injected by upgrade (but have pending patches to LLVM)
  * https://github.com/rust-lang/rust/issues/76387

## Ancient unfixed Issues

 * https://github.com/rust-lang/rust/issues/74498

