-
Notifications
You must be signed in to change notification settings - Fork 13.4k
Comparing changes
Open a pull request
base repository: llvm/llvm-project
base: main
head repository: JuliaLang/llvm-project
compare: main
- 12 commits
- 13 files changed
- 7 contributors
Commits on Aug 2, 2023
-
Revert "[MC] Always emit relocations for same-section function refere…
Configuration menu - View commit details
-
Copy full SHA for 1642111 - Browse repository at this point
Copy the full SHA 1642111View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0debc4a - Browse repository at this point
Copy the full SHA 0debc4aView commit details -
[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)
Configuration menu - View commit details
-
Copy full SHA for 2794694 - Browse repository at this point
Copy the full SHA 2794694View commit details -
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)
Configuration menu - View commit details
-
Copy full SHA for df90420 - Browse repository at this point
Copy the full SHA df90420View commit details -
Add support for unwinding during prologue/epilogue
(cherry picked from commit 5393efb)
Configuration menu - View commit details
-
Copy full SHA for 9d1bb8e - Browse repository at this point
Copy the full SHA 9d1bb8eView commit details -
[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)
Configuration menu - View commit details
-
Copy full SHA for fbe917a - Browse repository at this point
Copy the full SHA fbe917aView commit details -
[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
Configuration menu - View commit details
-
Copy full SHA for c871886 - Browse repository at this point
Copy the full SHA c871886View commit details -
Force
.eh_frame
emission on AArch64We 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)
Configuration menu - View commit details
-
Copy full SHA for cecf0f8 - Browse repository at this point
Copy the full SHA cecf0f8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9ef17e7 - Browse repository at this point
Copy the full SHA 9ef17e7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 08dfcf6 - Browse repository at this point
Copy the full SHA 08dfcf6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 415dde2 - Browse repository at this point
Copy the full SHA 415dde2View commit details -
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
Configuration menu - View commit details
-
Copy full SHA for 85122d4 - Browse repository at this point
Copy the full SHA 85122d4View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff main...main