Add tests for E-needstest issues
Translate SIMD construction as `insertelement`s and a single store.

This almost completely avoids GEPi's and pointer manipulation,
postponing it until the end with one big write of the whole vector. This
leads to a small speed-up in compilation, and makes it easier for LLVM
to work with the values, e.g. with `--opt-level=0`,

    pub fn foo() -> f32x4 {
        f32x4(0.,0.,0.,0.)
    }

was previously compiled to

    define <4 x float> @_ZN3foo20h74913e8b13d89666eaaE() unnamed_addr #0 {
    entry-block:
      %sret_slot = alloca <4 x float>
      %0 = getelementptr inbounds <4 x float>* %sret_slot, i32 0, i32 0
      store float 0.000000e+00, float* %0
      %1 = getelementptr inbounds <4 x float>* %sret_slot, i32 0, i32 1
      store float 0.000000e+00, float* %1
      %2 = getelementptr inbounds <4 x float>* %sret_slot, i32 0, i32 2
      store float 0.000000e+00, float* %2
      %3 = getelementptr inbounds <4 x float>* %sret_slot, i32 0, i32 3
      store float 0.000000e+00, float* %3
      %4 = load <4 x float>* %sret_slot
      ret <4 x float> %4
    }

but now becomes

    define <4 x float> @_ZN3foo20h74913e8b13d89666eaaE() unnamed_addr #0 {
    entry-block:
      ret <4 x float> zeroinitializer
    }
std::error: fix stray doc comment
test: correct spelling error & inverted match.
librustc_back: Fix triple for linux armhf.
librustc: Call return_type only for functions.
Make trans::adt know that some structs are unsized
Test
debuginfo: Make LLDB test make targets dependent on lldb python scripts.
debuginfo: Add timeout before running executable in LLDB tests.

This should help with a potential race condition.
rename deprecated non_uppercase_statics to non_upper_case_globals
Rename misspelled module reference.
Add missing dragonfly module.
debuginfo: Add a timeout for LLDB tests.

Fixes #18649.
Fix example in HashMap::new() docs
rustc: Add some more checks to the stability lint

This catches uses of unstable traits in

```
trait Foo: UnstableTrait { }
```

and

```
impl UnstableTrait for Foo { }
```
fix typo in librustc target spec
Make x86_64-unknown-linux-gnu.json true to its name
Restructure parsing of paths, which is quite tortured
Support parenthesized paths `Foo(A,B) -> C` that expand to `Foo<(A,B),C>`. These paths also bind anonymous regions (or will, once HRTB is fully working).

Fixes #18423.