1. 29 7月, 2016 13 次提交
    • J
      Upgrade to rust-llvm-2016-07-09 · d22a9a29
      Jan-Erik Rediger 提交于
      d22a9a29
    • B
      Auto merge of #34967 - TimNN:mipsel-musl-soft-float, r=alexcrichton · d9a911d2
      bors 提交于
      switch mipsel-musl to soft float
      
      Closes #34922.
      
      r? @alexcrichton
      d9a911d2
    • B
      Auto merge of #34956 - nikomatsakis:incr-comp-o-files, r=mw · 54c0dcfd
      bors 提交于
      Enable reuse of `.o` files if nothing has changed
      
      This PR completes a first "spike" for incremental compilation by enabling us to reuse `.o` files when nothing has changed. When in incr. mode, we will save `.o` files into the temporary directory, then copy them back out again if they are still valid. The code is still a bit rough but it does seem to work. =)
      
      r? @michaelwoerister
      
      Fixes #34036
      Fixes #34037
      Fixes #34038
      54c0dcfd
    • N
      make it possible to track where hash diverges · 42cd5d4e
      Niko Matsakis 提交于
      42cd5d4e
    • N
      hash def-path's better · e359147d
      Niko Matsakis 提交于
      actually we shouldn't even hash nested items at all, but that is
      addressed in a followup PR
      e359147d
    • B
      Auto merge of #34485 - tbu-:pr_unicode_debug_str, r=alexcrichton · d1df3fec
      bors 提交于
      Escape fewer Unicode codepoints in `Debug` impl of `str`
      
      Use the same procedure as Python to determine whether a character is
      printable, described in [PEP 3138]. In particular, this means that the
      following character classes are escaped:
      
      - Cc (Other, Control)
      - Cf (Other, Format)
      - Cs (Other, Surrogate), even though they can't appear in Rust strings
      - Co (Other, Private Use)
      - Cn (Other, Not Assigned)
      - Zl (Separator, Line)
      - Zp (Separator, Paragraph)
      - Zs (Separator, Space), except for the ASCII space `' '` `0x20`
      
      This allows for user-friendly inspection of strings that are not
      English (e.g. compare `"\u{e9}\u{e8}\u{ea}"` to `"éèê"`).
      
      Fixes #34318.
      CC #34422.
      
      [PEP 3138]: https://www.python.org/dev/peps/pep-3138/
      d1df3fec
    • N
      Keep multiple files per work-product · 2f9fff21
      Niko Matsakis 提交于
      In the older version, a `.o` and ` .bc` file were separate
      work-products.  This newer version keeps, for each codegen-unit, a set
      of files of different kinds. We assume that if any kinds are available
      then all the kinds we need are available, since the precise set of
      switches will depend on attributes and command-line switches.
      
      Should probably test this: the effect of changing attributes in
      particular might not be successfully tracked?
      2f9fff21
    • N
      Address mw nits · ceeb158e
      Niko Matsakis 提交于
      ceeb158e
    • N
      Add a testing mechanism and a simple spike test · 08a72d20
      Niko Matsakis 提交于
      08a72d20
    • N
      Modify trans to skip generating `.o` files · 58d4b8ed
      Niko Matsakis 提交于
      This checks the `previous_work_products` data from the dep-graph and
      tries to simply copy a `.o` file if possible.  We also add new
      work-products into the dep-graph, and create edges to/from the dep-node
      for a work-product.
      58d4b8ed
    • N
      Code to save/load the work-products map from disk · cca48042
      Niko Matsakis 提交于
      Work products are deleted if any of their inputs are dirty.
      cca48042
    • N
      Store `crate_disambiguator` as an `InternedString` · ffc13b2f
      Niko Matsakis 提交于
      We used to use `Name`, but the session outlives the tokenizer, which
      means that attempts to read this field after trans has complete
      otherwise panic. All reads want an `InternedString` anyhow.
      ffc13b2f
    • N
      Extend DepGraph so it can track "work-products" · 2b38c4bd
      Niko Matsakis 提交于
      A work product right now is just a `.o` file. In the future it probably
      includes other kinds of files, such as `.bc` files saving the
      unoptimized LLVM IR.
      
      However, because WorkProductIds must be independent of DefIds, so that
      they don't need translation, this system may not be suitable *as is* for
      storing fine-grained information (such as the MIR for individual defs),
      as it was originally intended. We will want to refactor some for that.
      2b38c4bd
  2. 28 7月, 2016 14 次提交
  3. 27 7月, 2016 13 次提交