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: c9e2e89ed3aa5a3be77143aa0c86906b4138374a
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: d8eb9fc4db91c4955002bf3b118de428efb67493
Choose a head ref
  • 4 commits
  • 8 files changed
  • 2 contributors

Commits on Jul 9, 2022

  1. [AVR] Fix expanding MOVW for overlapping registers

    When expanding a MOVW (16-bit copy) to two MOVs (8-bit copy), the
    lower byte always comes first. This is incorrect for corner cases like
    '$r24r23 -> $r25r24', in which the higher byte copy should come first.
    
    Current patch fixes that bug as recorded at
    rust-lang/rust#98167
    
    Reviewed By: benshi001
    
    Differential Revision: https://reviews.llvm.org/D128588
    Patryk27 authored and Mark-Simulacrum committed Jul 9, 2022
    Configuration menu
    Copy the full SHA
    785e201 View commit details
    Browse the repository at this point in the history
  2. [IndVars] Add test for PR56242 (NFC)

    (cherry picked from commit cfb4c1a)
    nikic authored and Mark-Simulacrum committed Jul 9, 2022
    Configuration menu
    Copy the full SHA
    aba3f77 View commit details
    Browse the repository at this point in the history
  3. [SCEV] Fix isImpliedViaMerge() with values from previous iteration (P…

    …R56242)
    
    When trying to prove an implied condition on a phi by proving it
    for all incoming values, we need to be careful about values coming
    from a backedge, as these may refer to a previous loop iteration.
    A variant of this issue was fixed in D101829, but the dominance
    condition used there isn't quite right: It checks that the value
    dominates the incoming block, which doesn't exclude backedges
    (values defined in a loop will usually dominate the loop latch,
    which is the incoming block of the backedge).
    
    Instead, we should be checking for domination of the phi block.
    Any values defined inside the loop will not dominate the loop
    header phi.
    
    Fixes llvm#56242.
    
    Differential Revision: https://reviews.llvm.org/D128640
    
    (cherry picked from commit e4d1d0c)
    nikic authored and Mark-Simulacrum committed Jul 9, 2022
    Configuration menu
    Copy the full SHA
    fc0ffca View commit details
    Browse the repository at this point in the history
  4. [AST] Don't assert instruction reads/writes memory (PR51333)

    This function is well-defined for an instruction that doesn't access
    memory (and thus trivially doesn't alias anything in the AST), so
    drop the assert. We can end up with a readnone call here if we
    originally created a MemoryDef for an indirect call, which was
    later replaced with a direct readnone call.
    
    Fixes llvm#51333.
    
    Differential Revision: https://reviews.llvm.org/D127947
    
    (cherry picked from commit 560e694)
    nikic authored and Mark-Simulacrum committed Jul 9, 2022
    Configuration menu
    Copy the full SHA
    d8eb9fc View commit details
    Browse the repository at this point in the history
Loading