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: llvm/llvm-project
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: b0bf48d
Choose a base ref
...
head repository: JuliaLang/llvm-project
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 85122d4
Choose a head ref
  • 12 commits
  • 13 files changed
  • 7 contributors

Commits on Aug 2, 2023

  1. Revert "[MC] Always emit relocations for same-section function refere…

    …nces"
    
    This reverts commit 5a5ac65.
    
    (cherry picked from commit ae2638d)
    (cherry picked from commit 05848b6)
    vchuravy authored and maleadt committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    1642111 View commit details
    Browse the repository at this point in the history
  2. Allow for custom address spaces

    Julia uses addressspaces for GC and we want these to be sanitized as well.
    
    (cherry picked from commit 3f53397)
    (cherry picked from commit 58df73b)
    vchuravy authored and maleadt committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    0debc4a View commit details
    Browse the repository at this point in the history
  3. [clang/CMake] Respect LLVM_TOOLS_INSTALL_DIR

    Otherwise clang installs all of its tools into `bin/` while
    LLVM installs its tools into (LLVM_TOOLS_INSTALL_DIR).
    I could swear this used to work (and in fact the julia build system
    assumes it), but I can't pin down a specific commit that would
    have broken this, and julia has been relying on pre-compiled binaries
    for a while now (that don't use this setting), so it may have been
    broken for quite a while.
    
    Differential Revision: https://reviews.llvm.org/D88630
    
    (cherry picked from commit 6104e14)
    (cherry picked from commit f252e17)
    (cherry picked from commit 9039ce8)
    Keno authored and maleadt committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    2794694 View commit details
    Browse the repository at this point in the history
  4. Don't merge icmps derived from pointers with addressspaces

    IIUC we can't emit `memcmp` between pointers in addressspaces,
    doing so will trigger an assertion since the signature of the memcmp
    will not match it's arguments (https://bugs.llvm.org/show_bug.cgi?id=48661).
    
    This PR disables the attempt to merge icmps,
    when the pointer is in an addressspace.
    
    Differential Revision: https://reviews.llvm.org/D94813
    
    (cherry picked from commit 458b259)
    (cherry picked from commit aaf2d27)
    vchuravy authored and maleadt committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    df90420 View commit details
    Browse the repository at this point in the history
  5. Add support for unwinding during prologue/epilogue

    (cherry picked from commit 5393efb)
    Keno authored and maleadt committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    9d1bb8e View commit details
    Browse the repository at this point in the history
  6. [LLD] Respect LLVM_TOOLS_INSTALL_DIR

    Co-authored-by: Valentin Churavy <v.churavy@gmail.com>
    Co-authored-by: Julian P Samaroo <jpsamaroo@jpsamaroo.me>
    (cherry picked from commit a0defe0)
    2 people authored and maleadt committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    fbe917a View commit details
    Browse the repository at this point in the history
  7. [Sanitizers] Guard FP_XSTATE_MAGIC1 usage by GLIBC version

    Follow-up on https://reviews.llvm.org/D118970 FP_XSTATE_MAGIC1 is only available on glibc 2.27 and upwards
    
    Differential Revision: https://reviews.llvm.org/D124770
    vchuravy authored and maleadt committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    c871886 View commit details
    Browse the repository at this point in the history
  8. Force .eh_frame emission on AArch64

    We need to force the emission of the EH Frame section (currently done via SupportsCompactUnwindWithoutEHFrame in the MCObjectFileInfo for the target), since libunwind doesn't yet support dynamically registering compact unwind information at run-time.
    
    (cherry picked from commit 60e0418)
    (cherry picked from commit 6275013)
    Cody Tapscott authored and maleadt committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    cecf0f8 View commit details
    Browse the repository at this point in the history
  9. Add patches for msan

    gbaraldi authored and maleadt committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    9ef17e7 View commit details
    Browse the repository at this point in the history
  10. Try keno's tentative TLS fix

    gbaraldi authored and maleadt committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    08dfcf6 View commit details
    Browse the repository at this point in the history
  11. Make include conditional to macos

    gbaraldi authored and maleadt committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    415dde2 View commit details
    Browse the repository at this point in the history
  12. Disable pathologically expensive SimplifySelectOps optimization

    `SimplifySelectOps` is a late optimization in LLVM that attempts to
    translate `select(C, load(A), load(B))` into `load(select(C, A, B))`.
    However, in order for it to do this optimization, it needs to check that
    `C` does not depend on the result of `load(A)` or `load(B)`.
    Unfortunately (unlikely Julia and LLVM at the IR level), LLVM does not
    have a topological order of statements computed at this stage of the
    compiler, so LLVM needs to iterate through all statements in the
    function in order to perform this legality check. For large functions,
    this is extremely expensive, accounting for the majority of all
    compilation time for such functions. On the other hand, the optimization
    itself is minor, allowing at most the elision of one additional load
    (and doesn't fire particularly often, because the middle end can perform
    similar optimizations). Until there is a proper solution in LLVM, simply
    disable this optimizations, making LLVM several orders of magnitude
    faster on real world benchmarks.
    
    X-ref: #60132
    staticfloat authored and maleadt committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    85122d4 View commit details
    Browse the repository at this point in the history
Loading