Update to LLVM head and mark various ptrs as nonnull.
updated hash value in reduced benchmark
rustc: middle: lint: use more doc comments
rustc: middle: ty: use doc comments for the tcx
rustc: add a lint for large enum variants

It can be easy to accidentally bloat the size of an enum by making one variant
larger than the others. When this happens, it usually goes unnoticed. This
commit adds a lint that can warn when the largest variant in an enum is more
than 3 times larger than the second-largest variant. This requires a little
bit of rejiggering, because size information is only available in trans, but
lint levels are only available in the lint context.

It is allow by default because it's pretty noisy, and isn't really *that*
undesirable.

Closes #10362
rustc: abstract lint level exporting from EnumSizeVariance
Fix lifetime error to print `'a` instead of `&'a`

This changes certain error messages about lifetimes so that they display
lifetimes without an `&`.

Fixes #10291.
Minor library doc copyediting
Improve error message for lifetimes after type params.

Closes #14303.
auto merge of #14359 : brson/rust/minordoc, r=alexcrichton
auto merge of #14368 : tedhorst/rust/master, r=alexcrichton
std: Move running_on_valgrind to rt::util. #1457

[breaking-change]
std: Move simd to core::simd and reexport. #1457

[breaking-change]
std: Move unstable::finally to std::finally. #1457

[breaking-change]
core: Document simd mod
core: Derive Show on SIMD types
auto merge of #14317 : P1start/rust/lifetime-formatting, r=alexcrichton

This changes certain error messages about lifetimes so that they display lifetimes without an `&`.

Fixes #10291.
Add clang specific flag more selectively.
auto merge of #14379 : brson/rust/simd, r=alexcrichton

Followup to https://github.com/mozilla/rust/pull/14331 and https://github.com/mozilla/rust/pull/12524
Cleanup lifetime guide
Clean pointers guide