Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rollup of 8 pull requests #70305

Merged
merged 27 commits into from
Mar 23, 2020
Merged

Rollup of 8 pull requests #70305

merged 27 commits into from
Mar 23, 2020

Commits on Mar 11, 2020

  1. Configuration menu
    Copy the full SHA
    24dc2cb View commit details
    Browse the repository at this point in the history

Commits on Mar 18, 2020

  1. Configuration menu
    Copy the full SHA
    71f5aed View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    0536b8d View commit details
    Browse the repository at this point in the history
  3. Revert "Fix missing libLLVM.so in stage0 sysroot."

    This reverts commit 8b9c539.
    cuviper committed Mar 18, 2020
    Configuration menu
    Copy the full SHA
    e1a6a30 View commit details
    Browse the repository at this point in the history

Commits on Mar 19, 2020

  1. Update the bundled wasi-libc with libstd

    Brings in WebAssembly/wasi-libc#184 which can help standalone programs
    with environment variables!
    alexcrichton committed Mar 19, 2020
    Configuration menu
    Copy the full SHA
    d1a4a57 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    3a2a442 View commit details
    Browse the repository at this point in the history

Commits on Mar 21, 2020

  1. Configuration menu
    Copy the full SHA
    10f08ab View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    3fd397b View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    d9a15cc View commit details
    Browse the repository at this point in the history

Commits on Mar 22, 2020

  1. Configuration menu
    Copy the full SHA
    52fbd3e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    94bbd46 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    29df39b View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    854b78f View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    9175940 View commit details
    Browse the repository at this point in the history

Commits on Mar 23, 2020

  1. Configuration menu
    Copy the full SHA
    7023948 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c923f04 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    d6f4a2f View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    b5e78a2 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    c3c0a09 View commit details
    Browse the repository at this point in the history
  6. Rollup merge of rust-lang#69080 - eddyb:one-billion-dwarves-walk-into…

    …-a-bar, r=michaelwoerister
    
    rustc_codegen_llvm: don't generate any type debuginfo for -Cdebuginfo=1.
    
    Works towards rust-lang#69074 by adding more checks for `DebugInfo::Full` in a few places in `rustc_codegen_llvm`, bringing us in line with what `clang -g1` generates (no debuginfo types, nor debuginfo for `static`s).
    
    <hr/>
    
    My local build's (`debuginfo-level=1`, `debug-assertions=1`) `librustc_driver-*.so` went from just over 1GiB (1019MiB) down to 402MiB.
    
    It's still bad, but the `.debug_*` sections themselves (as reported by `objdump`) went from something like 853MiB down to 236MiB, i.e. roughly a 3.6x reduction.
    
    <hr/>
    
    Sadly, I don't think this is enough to justify *shipping* all of this debuginfo, but now it's more plausible that we could at least *build* with `debuginfo-level=1` *then* strip it.
    That would give us real backtraces for e.g. ICEs during builds, but I don't know how often that's relevant.
    
    We could also look into split DWARF, and maybe have a `rustc-debuginfo` component in `rustup`.
    
    There's also the possibility of making it slimmer by omitting parameters to functions, or perhaps some deduplication (I think right now there is no DWARF reuse across CGUs? maybe ThinLTO helps?).
    
    r? @michaelwoerister cc @rust-lang/wg-codegen @alexcrichton @Mark-Simulacrum
    Centril authored Mar 23, 2020
    Configuration menu
    Copy the full SHA
    1980242 View commit details
    Browse the repository at this point in the history
  7. Rollup merge of rust-lang#69940 - tmiasko:llvm-api, r=hanna-kruppe

    librustc_codegen_llvm: Replace deprecated API usage
    Centril authored Mar 23, 2020
    Configuration menu
    Copy the full SHA
    61a56fb View commit details
    Browse the repository at this point in the history
  8. Rollup merge of rust-lang#69942 - estebank:sized-verbose-sugg, r=matt…

    …hewjasper
    
    Increase verbosity when suggesting subtle code changes
    
    Do not suggest changes that are actually quite small inline, to minimize the likelihood of confusion.
    
    Fix rust-lang#69243.
    Centril authored Mar 23, 2020
    Configuration menu
    Copy the full SHA
    906b399 View commit details
    Browse the repository at this point in the history
  9. Rollup merge of rust-lang#69968 - eddyb:tupled-closure-captures, r=ni…

    …komatsakis
    
    rustc: keep upvars tupled in {Closure,Generator}Substs.
    
    Previously, each closure/generator capture's (aka "upvar") type was tracked as one "synthetic" type parameter in the closure/generator substs, and figuring out where the parent `fn`'s generics end and the synthetics start involved slicing at `tcx.generics_of(def_id).parent_count`.
    
    Needing to query `generics_of` limited @davidtwco (who wants to compute some `TypeFlags` differently for parent generics vs upvars, and `TyCtxt` is not available there), which is how I got started on this, but it's also possible that the `generics_of` queries are slowing down `{Closure,Generator}Substs` methods.
    
    To give an example, for a `foo::<T, U>::{closure#0}` with captures `x: X` and `y: Y`, substs are:
    * before this PR: `[T, U, /*kind*/, /*signature*/, X, Y]`
    * after this PR: `[T, U, /*kind*/, /*signature*/, (X, Y)]`
    
    You can see that, with this PR, no matter how many captures, the last 3 entries in the substs (or 5 for a generator) are always the "synthetic" ones, with the last one being the tuple of capture types.
    
    r? @nikomatsakis cc @Zoxc
    Centril authored Mar 23, 2020
    Configuration menu
    Copy the full SHA
    bee074f View commit details
    Browse the repository at this point in the history
  10. Rollup merge of rust-lang#70123 - cuviper:library-path, r=Mark-Simula…

    …crum
    
    Ensure LLVM is in the link path for rustc tools
    
    The build script for `rustc_llvm` outputs LLVM information in `cargo:rustc-link-lib` and `cargo:rustc-link-search` so the compiler can be linked correctly. However, while the lib is carried along in metadata, the search paths are not. So when cargo is invoked again later for rustc _tools_, they'll also try to link with LLVM, but the necessary paths may be left out.
    
    Rustbuild can use the environment to set the LLVM link path for tools -- `LIB` for MSVC toolchains and `LIBRARY_PATH` for everyone else.
    
    Fixes rust-lang#68714.
    Centril authored Mar 23, 2020
    Configuration menu
    Copy the full SHA
    9423c4f View commit details
    Browse the repository at this point in the history
  11. Rollup merge of rust-lang#70159 - alexcrichton:update-wasi, r=pietroa…

    …lbini
    
    Update the bundled wasi-libc with libstd
    
    Brings in WebAssembly/wasi-libc#184 which can help standalone programs
    with environment variables!
    Centril authored Mar 23, 2020
    Configuration menu
    Copy the full SHA
    edbbb49 View commit details
    Browse the repository at this point in the history
  12. Rollup merge of rust-lang#70233 - petrochenkov:superproc, r=ecstatic-…

    …morse
    
    resolve: Do not resolve visibilities on proc macro definitions twice
    
    Fixes rust-lang#68921
    Centril authored Mar 23, 2020
    Configuration menu
    Copy the full SHA
    bb85308 View commit details
    Browse the repository at this point in the history
  13. Rollup merge of rust-lang#70286 - RalfJung:no-experiments, r=petroche…

    …nkov
    
    Miri error type: remove UbExperimental variant
    
    In rust-lang/miri#1250, I will move Miri away from that variant, and use a custom `MachineStop` exception instead.
    Centril authored Mar 23, 2020
    Configuration menu
    Copy the full SHA
    07e1043 View commit details
    Browse the repository at this point in the history