Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: rust-lang/llvm-project
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 522c3e3d9c097b53ede7682cc28544b461597b20
Choose a base ref
...
head repository: rust-lang/llvm-project
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: a7348ae0df3c71581dbe3d355fc0fb6ce6332dd0
Choose a head ref
  • 17 commits
  • 45 files changed
  • 14 contributors

Commits on Sep 21, 2021

  1. [debuginfo-test][cross-project-tests] Release note for new project name

    Add a release note for the renaming of the debuginfo-test to
    cross-project-tests, performed in commit
    1364750 and follow-ons.
    
    Reviewed by: sylvestre.ledru
    
    Differential Revision: https://reviews.llvm.org/D110134
    jh7370 committed Sep 21, 2021
    Configuration menu
    Copy the full SHA
    5b95eb0 View commit details
    Browse the repository at this point in the history
  2. [AArch64][GlobalISel] Use ZExtValue for zext(xor) when invert tb(n)z

    Currently, we use SExtValue to decide whether to invert tbz or tbnz.
    However, for the case zext (xor x, c), we should use ZExt rather
    than SExt otherwise we will generate totally opposite branches.
    
    Reviewed By: paquette
    
    Differential Revision: https://reviews.llvm.org/D108755
    
    (cherry picked from commit 5f48c14)
    guopeilin authored and tstellar committed Sep 21, 2021
    Configuration menu
    Copy the full SHA
    80f974e View commit details
    Browse the repository at this point in the history
  3. Thread safety analysis: Warn when demoting locks on back edges

    Previously in D104261 we warned about dropping locks from back edges,
    this is the corresponding change for exclusive/shared joins. If we're
    entering the loop with an exclusive change, which is then relaxed to a
    shared lock before we loop back, we have already analyzed the loop body
    with the stronger exclusive lock and thus might have false positives.
    
    There is a minor non-observable change: we modify the exit lock set of a
    function, but since that isn't used further it doesn't change anything.
    
    Reviewed By: aaron.ballman
    
    Differential Revision: https://reviews.llvm.org/D106713
    
    (cherry picked from commit 9b889f8)
    aaronpuchert authored and tstellar committed Sep 21, 2021
    Configuration menu
    Copy the full SHA
    d0f0b5b View commit details
    Browse the repository at this point in the history

Commits on Sep 23, 2021

  1. [analyzer] Add 13.0.0 release notes

    Differential Revision: https://reviews.llvm.org/D108912
    Szelethus authored and Kristóf Umann committed Sep 23, 2021
    Configuration menu
    Copy the full SHA
    ee6913c View commit details
    Browse the repository at this point in the history

Commits on Sep 24, 2021

  1. [clang] don't mark as Elidable CXXConstruct expressions used in NRVO

    See PR51862.
    
    The consumers of the Elidable flag in CXXConstructExpr assume that
    an elidable construction just goes through a single copy/move construction,
    so that the source object is immediately passed as an argument and is the same
    type as the parameter itself.
    
    With the implementation of P2266 and after some adjustments to the
    implementation of P1825, we started (correctly, as per standard)
    allowing more cases where the copy initialization goes through
    user defined conversions.
    
    With this patch we stop using this flag in NRVO contexts, to preserve code
    that relies on that assumption.
    This causes no known functional changes, we just stop firing some asserts
    in a cople of included test cases.
    
    Reviewed By: rsmith
    
    Differential Revision: https://reviews.llvm.org/D109800
    
    (cherry picked from commit d9308aa)
    mizvekov authored and tstellar committed Sep 24, 2021
    Configuration menu
    Copy the full SHA
    d7b669b View commit details
    Browse the repository at this point in the history

Commits on Oct 2, 2021

  1. [rust] Add accessors for MCSubtargetInfo CPU and Feature tables

    This is needed for `-C target-cpu=help` and `-C target-feature=help` in rustc
    bitshifter authored and cuviper committed Oct 2, 2021
    Configuration menu
    Copy the full SHA
    42cc214 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4bbdd3d View commit details
    Browse the repository at this point in the history
  3. [rust] Compile with /MT on MSVC

    Can't seem to figure out how to do this without this patch...
    alexcrichton authored and cuviper committed Oct 2, 2021
    Configuration menu
    Copy the full SHA
    7ce9d69 View commit details
    Browse the repository at this point in the history
  4. [rust] Comment out __builtin_available() use (#21)

    __builtin_available() pulls in __isOSVersionAtLeast() from
    compiler-rt. Comment it out so we don't have to figure out how
    to pull in this symbol...
    nikic authored and cuviper committed Oct 2, 2021
    Configuration menu
    Copy the full SHA
    f261936 View commit details
    Browse the repository at this point in the history
  5. [rust] Changes needed for 'x86_64-fortanix-unknown-sgx' nightly target.

    Code is guarded via defines to enable only if 'RUST_SGX' is present.
    
    Main logic is in libunwind/src/AddressSpace.hpp
    We use 6 symbols to figure out where eh_frame / eh_frame_hdr is at runtime when loaded in an SGX enclave. (EH symbols + IMAGE base)
    These are set by 'fortanix-sgx-tools'.
    
    As notes:
    - Target above at the moment uses a pre-compiled libunwind.a from forked repo.
    - Goal of these changes is to use official llvm with patch.
    - Changes in rust-lang to use this are planned if/when this is accepted.
    - Ticket: fortanix/rust-sgx#174
    - Original ported changes: llvm/llvm-project@release/5.x...fortanix:release/5.x
    AdrianCX authored and cuviper committed Oct 2, 2021
    Configuration menu
    Copy the full SHA
    bd3615e View commit details
    Browse the repository at this point in the history
  6. [rust] Skip processor info on i386 mingw-w64 < 7

    This will limit LLVM thread pools to a single thread on that target, but
    we don't use that functionality in rustc anyway.
    
    See also:
    llvm@8404aeb#commitcomment-37406150
    cuviper committed Oct 2, 2021
    Configuration menu
    Copy the full SHA
    8383fb0 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    a9bccde View commit details
    Browse the repository at this point in the history
  8. [rust] Fix mingw build

    operation_not_supported doesn't seem to be available on at least
    some mingw versions. Make use of LLVM's errc interoperability
    header instead.
    nikic authored and cuviper committed Oct 2, 2021
    Configuration menu
    Copy the full SHA
    b2bfd27 View commit details
    Browse the repository at this point in the history
  9. [rust] Don't use Werror for thread-safety-analysis

    This causes a false positive warning with clang 6, resulting in
    a build failure on FreeBSD 11.
    nikic authored and cuviper committed Oct 2, 2021
    Configuration menu
    Copy the full SHA
    d62e6ef View commit details
    Browse the repository at this point in the history
  10. [InstCombine] Add tests for "eq of parts" with logical op (NFC)

    We currently only handle this with a bitwise and/or instruction,
    but not a logical.
    
    (cherry picked from commit be4b836)
    nikic authored and cuviper committed Oct 2, 2021
    Configuration menu
    Copy the full SHA
    72f6a41 View commit details
    Browse the repository at this point in the history
  11. [InstCombine] Perform "eq of parts" fold with logical ops

    The pattern matched here is too complex for the general logical
    and/or to bitwise and/or conversion to trigger. However, the
    fold is poison-safe, so match it with a select root as well:
    
    https://alive2.llvm.org/ce/z/vNzzSg
    https://alive2.llvm.org/ce/z/Beyumt
    (cherry picked from commit fafe5a6)
    nikic authored and cuviper committed Oct 2, 2021
    Configuration menu
    Copy the full SHA
    86509ec View commit details
    Browse the repository at this point in the history
  12. [Mangler] Calculate the argument list byte count suffix correctly whe…

    …n returning large values
    
    `__stdcall`, `__fastcall` and `__vectorcall` return large values via a
    hidden pointer argument. However, the size of that argument should not
    be included in the argument list byte count suffix added to the
    function's decorated name.
    
    This patch fixes that issue so that LLVM generates the same decorated
    name as MSVC does.
    
    MSVC example: https://godbolt.org/z/nc35MKPhr
    
    Reviewed By: rnk
    
    Differential Revision: https://reviews.llvm.org/D110719
    wesleywiser authored and cuviper committed Oct 2, 2021
    Configuration menu
    Copy the full SHA
    a7348ae View commit details
    Browse the repository at this point in the history
Loading