1. 23 8月, 2018 1 次提交
  2. 22 8月, 2018 1 次提交
    • R
      miri/CTFE refactor · ad2de8b4
      Ralf Jung 提交于
      * Value gets renamed to Operand, so that now interpret::{Place, Operand} are the
        "dynamic" versions of mir::{Place, Operand}.
      * Operand and Place share the data for their "stuff is in memory"-base in a new
        type, MemPlace.  This also makes it possible to give some more precise types
        in other areas.  Both Operand and MemPlace have methods available to project
        into fields (and other kinds of projections) without causing further
        allocations.
      * The type for "a Scalar or a ScalarPair" is called Value, and again used to
        give some more precise types.
      * All of these have versions with an attached layout, so that we can more often
        drag the layout along instead of recomputing it.  This lets us get rid of
        `PlaceExtra::Downcast`.  MPlaceTy and PlaceTy can only be constructed
        in place.rs, making sure the layout is handled properly.
        (The same should eventually be done for ValTy and OpTy.)
      * All the high-level functions to write typed memory take a Place, and live in
        place.rs.  All the high-level typed functions to read typed memory take an
        Operand, and live in operands.rs.
      ad2de8b4
  3. 05 8月, 2018 3 次提交
  4. 27 7月, 2018 1 次提交
  5. 25 7月, 2018 1 次提交
  6. 23 7月, 2018 1 次提交
  7. 21 7月, 2018 1 次提交
  8. 12 7月, 2018 2 次提交
  9. 11 7月, 2018 1 次提交
    • A
      Upgrade to LLVM's master branch (LLVM 7) · 42eb8500
      Alex Crichton 提交于
      This commit upgrades the main LLVM submodule to LLVM's current master branch.
      The LLD submodule is updated in tandem as well as compiler-builtins.
      
      Along the way support was also added for LLVM 7's new features. This primarily
      includes the support for custom section concatenation natively in LLD so we now
      add wasm custom sections in LLVM IR rather than having custom support in rustc
      itself for doing so.
      
      Some other miscellaneous changes are:
      
      * We now pass `--gc-sections` to `wasm-ld`
      * The optimization level is now passed to `wasm-ld`
      * A `--stack-first` option is passed to LLD to have stack overflow always cause
        a trap instead of corrupting static data
      * The wasm target for LLVM switched to `wasm32-unknown-unknown`.
      * The syntax for aligned pointers has changed in LLVM IR and tests are updated
        to reflect this.
      * The `thumbv6m-none-eabi` target is disabled due to an [LLVM bug][llbug]
      
      Nowadays we've been mostly only upgrading whenever there's a major release of
      LLVM but enough changes have been happening on the wasm target that there's been
      growing motivation for quite some time now to upgrade out version of LLD. To
      upgrade LLD, however, we need to upgrade LLVM to avoid needing to build yet
      another version of LLVM on the builders.
      
      The revision of LLVM in use here is arbitrarily chosen. We will likely need to
      continue to update it over time if and when we discover bugs. Once LLVM 7 is
      fully released we can switch to that channel as well.
      
      [llbug]: https://bugs.llvm.org/show_bug.cgi?id=37382
      42eb8500
  10. 02 7月, 2018 1 次提交
    • N
      introduce `predicates_defined_on` for traits · 90ea49b8
      Niko Matsakis 提交于
      This new query returns only the predicates *directly defined* on an
      item (in contrast to the more common `predicates_of`, which returns
      the predicates that must be proven to reference an item). These two
      sets are almost always identical except for traits, where
      `predicates_of` includes an artificial `Self: Trait<...>` predicate
      (basically saying that you cannot use a trait item without proving
      that the trait is implemented for the type parameters).
      
      This new query is only used in chalk lowering, where this artificial
      `Self: Trait` predicate is problematic. We encode it in metadata but
      only where needed since it is kind of repetitive with existing
      information.
      Co-authored-by: NTyler Mandry <tmandry@gmail.com>
      90ea49b8
  11. 28 6月, 2018 1 次提交
  12. 26 6月, 2018 4 次提交
  13. 14 6月, 2018 1 次提交
  14. 10 6月, 2018 1 次提交
  15. 17 5月, 2018 1 次提交
  16. 11 5月, 2018 3 次提交
  17. 10 5月, 2018 1 次提交
  18. 09 5月, 2018 1 次提交
  19. 08 5月, 2018 1 次提交
  20. 27 4月, 2018 1 次提交
  21. 25 4月, 2018 3 次提交
  22. 24 4月, 2018 1 次提交
    • N
      first draft of `program_clauses_for_env` · 294cae22
      Niko Matsakis 提交于
      This computes the transitive closure of traits that appear in the
      environment and then appends their clauses. It needs some work, but
      it's in the right direction.
      294cae22
  23. 20 4月, 2018 1 次提交
  24. 13 4月, 2018 1 次提交
  25. 10 4月, 2018 1 次提交
  26. 06 4月, 2018 3 次提交
  27. 29 3月, 2018 1 次提交
  28. 23 3月, 2018 1 次提交