1. 18 9月, 2017 26 次提交
    • B
      Auto merge of #44441 - tamird:cargo-bitflags, r=alexcrichton · 3a7b9607
      bors 提交于
      Remove rustc_bitflags; use the bitflags crate
      
      r? @alexcrichton
      3a7b9607
    • B
      Auto merge of #43628 - oli-obk:orbital_standard_library, r=alexcrichton · caad2560
      bors 提交于
      Run the miri test suite on the aux builder and travis
      
      Reopen of #38350
      
      see https://github.com/rust-lang/rust/pull/43340#issuecomment-316940762 for earlier discussion
      
      Rationale for running miri's test suite in rustc's CI is that miri currently contains many features that we want in const eval in the future, and these features would break if the test suite is not run.
      
      fixes #44077
      
      r? @nikomatsakis
      
      cc @EddyB
      caad2560
    • B
      Auto merge of #44529 - alexcrichton:trans-query, r=michaelwoerister · e8a76d8a
      bors 提交于
      Refactor translation unit partitioning/collection as a query
      
      This commit is targeted at #44486 with the ultimate goal of making the `collect_and_partition_translation_items` function a query. This mostly just involved query-ifying a few other systems along with plumbing the tcx instead of `SharedCrateContext` in a few locations.
      
      Currently this only tackles the first bullet of #44486 and doesn't add a dedicated query for a particular codegen unit. I wasn't quite sure how to do that yet but figured this was good to put up.
      
      Closes #44486
      e8a76d8a
    • O
      Rebase fallout · 01555b1d
      Oliver Schneider 提交于
      01555b1d
    • O
      Update miri submodule · a9df19b4
      Oliver Schneider 提交于
      a9df19b4
    • O
      Prevent distribution if miri is enabled · 68fc65ea
      Oliver Schneider 提交于
      68fc65ea
    • O
      -Zmir-emit-validate is in stage 0 · 13921daf
      Oliver Schneider 提交于
      13921daf
    • O
      ab018c76
    • O
      Improve documentation · f0b54022
      Oliver Schneider 提交于
      f0b54022
    • O
    • T
      Remove rustc_bitflags; use the bitflags crate · 231d9e7e
      Tamir Duberstein 提交于
      231d9e7e
    • A
      rustc: Move codegen to a query · 6d614ddc
      Alex Crichton 提交于
      This commit moves the actual code generation in the compiler behind a query
      keyed by a codegen unit's name. This ended up entailing quite a few internal
      refactorings to enable this, along with a few cut corners:
      
      * The `OutputFilenames` structure is now tracked in the `TyCtxt` as it affects a
        whole bunch of trans and such. This is now behind a query and threaded into
        the construction of the `TyCtxt`.
      
      * The `TyCtxt` now has a channel "out the back" intended to send data to worker
        threads in rustc_trans. This is used as a sort of side effect of the codegen
        query but morally what's happening here is the return value of the query
        (currently unit but morally a path) is only valid once the background threads
        have all finished.
      
      * Dispatching work items to the codegen threads was refactored to only rely on
        data in `TyCtxt`, which mostly just involved refactoring where data was
        stored, moving it from the translation thread to the controller thread's
        `CodegenContext` or the like.
      
      * A new thread locals was introduced in trans to work around the query
        system. This is used in the implementation of `assert_module_sources` which
        looks like an artifact of the old query system and will presumably go away
        once red/green is up and running.
      6d614ddc
    • T
      bootstrap: plumb verbosity into submodule ops · e788fa7b
      Tamir Duberstein 提交于
      Fix some lints while I'm here.
      e788fa7b
    • B
      Auto merge of #44607 - alexcrichton:rustbuild-no-j, r=Mark-Simulacrum · cfcac372
      bors 提交于
      rustbuild: Don't pass `-j` if called by `make`
      
      In these situations Cargo just prints out a warning about ignoring the flag
      anyway, so let `make` take care of jobs and whatnot instead of getting warnings
      printed.
      cfcac372
    • T
      Use double quotes to appease some TOML parsers · 4a8933f4
      Tamir Duberstein 提交于
      4a8933f4
    • A
      rustc: Attach an mpsc channel to TyCtxt · 3021c1d0
      Alex Crichton 提交于
      This commit attaches a channel to the LLVM workers to the `TyCtxt` which will
      later be used during the codegen query to actually send work to LLVM workers.
      Otherwise this commit is just plumbing this channel throughout the compiler to
      ensure it reaches the right consumers.
      3021c1d0
    • A
      rustc: Remove another global map from trans · 2eada587
      Alex Crichton 提交于
      This commit removes the `crate_trans_items` field from the `CrateContext` of
      trans. This field, a big map, was calculated during partioning and was a set of
      all translation items. This isn't quite incremental-friendly because the map may
      change a lot but not have much effect on downstream consumers.
      
      Instead a new query was added for the one location this map was needed, along
      with a new comment explaining what the location is doing!
      2eada587
    • A
      rustc: Move a comment to the right spot in trans · 19727c84
      Alex Crichton 提交于
      I believe this comment here is mostly talking about the `ptrcast` function call
      below, so move the comment down to that block.
      19727c84
    • A
      rustc: Mostly remove `ExportedSymbols` · afb85cfd
      Alex Crichton 提交于
      This is a big map that ends up inside of a `CrateContext` during translation for
      all codegen units. This means that any change to the map may end up causing an
      incremental recompilation of a codegen unit! In order to reduce the amount of
      dependencies here between codegen units and the actual input crate this commit
      refactors dealing with exported symbols and such into various queries.
      
      The new queries are largely based on existing queries with filled out
      implementations for the local crate in addition to external crates, but the main
      idea is that while translating codegen untis no unit needs the entire set of
      exported symbols, instead they only need queries about particulare `DefId`
      instances every now and then.
      
      The linking stage, however, still generates a full list of all exported symbols
      from all crates, but that's going to always happen unconditionally anyway, so no
      news there!
      afb85cfd
    • A
      rustc: Move some attr methods to queries · 8821affd
      Alex Crichton 提交于
      Otherwise we may emit double errors related to the `#[export_name]` attribute,
      for example, and using a query should ensure that it's only emitted at most
      once.
      8821affd
    • A
      rustc: Make trans collect/partition a query · 132bde7c
      Alex Crichton 提交于
      This commit moves the `collect_and_partition_translation_items` function into a
      query on `TyCtxt` instead of a free function in trans, allowing us to track
      dependencies and such of the function.
      132bde7c
    • A
      rustc: Calculate `ExportedSymbols` in a query · dba3ddd8
      Alex Crichton 提交于
      This commit moves the definition of the `ExportedSymbols` structure to the
      `rustc` crate and then creates a query that'll be used to construct the
      `ExportedSymbols` set. This in turn uses the reachablity query exposed in the
      previous commit.
      dba3ddd8
    • A
      rustc: Use reachablility through a query · baca9a62
      Alex Crichton 提交于
      Turns out this was already set up as a query, just wasn't using it yet!
      baca9a62
    • A
      rustc: Refactor trans paritioning to use tcx · a97ad6ae
      Alex Crichton 提交于
      This commit refactors the the `partitioning::partition` function to operate with
      a `TyCtxt` instead of a `SharedCrateContext` in preparation for making it a
      query.
      a97ad6ae
    • A
      rustc_trans: Refactor collection to use tcx · c72240ac
      Alex Crichton 提交于
      This commit refactors the `collect_crate_translation_items` function to only
      require the `TyCtxt` instead of a `SharedCrateContext` in preparation for
      query-ifying this portion of trans.
      c72240ac
    • A
      rustbuild: Don't pass `-j` if called by `make` · 4857bb7f
      Alex Crichton 提交于
      In these situations Cargo just prints out a warning about ignoring the flag
      anyway, so let `make` take care of jobs and whatnot instead of getting warnings
      printed.
      4857bb7f
  2. 17 9月, 2017 14 次提交