mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-12-01 07:10:37 +00:00
Fork of llvm with experimental commits and workarounds for RPCS3
402961396d
As far as I am aware, the placement of MergedLoadStoreMotion in the pipeline is not heavily tuned currently. It seems to not matter much if we do it after DSE in the LTO pipeline (no binary changes for -O3 -flto on MultiSource/SPEC2000/SPEC2006). Moving it after DSE however has a major benefit: MemorySSA is constructed by LICM and is consumed by DSE, so if MergedLoadStoreMotion happens after DSE, we do not need to preserve MemorySSA in it. If there are any concerns with this move, I can also update MergedLoadStoreMotion to preserve MemorySSA. This patch together with D86651 (preserve MemSSA in MemCpyOpt) and D86534 (preserve MemSSA in GVN) are the remaining patches to bring down compile-time for DSE + MemorySSA to the levels outlined in http://lists.llvm.org/pipermail/llvm-dev/2020-August/144417.html Once they land, we should be able to start with flipping the switch on enabling DSE + MmeorySSA. Reviewed By: asbirlea Differential Revision: https://reviews.llvm.org/D86967 |
||
---|---|---|
benchmarks | ||
bindings | ||
cmake | ||
docs | ||
examples | ||
include | ||
lib | ||
projects | ||
resources | ||
runtimes | ||
test | ||
tools | ||
unittests | ||
utils | ||
.clang-format | ||
.clang-tidy | ||
.gitattributes | ||
.gitignore | ||
CMakeLists.txt | ||
CODE_OWNERS.TXT | ||
configure | ||
CREDITS.TXT | ||
LICENSE.TXT | ||
llvm.spec.in | ||
LLVMBuild.txt | ||
README.txt | ||
RELEASE_TESTERS.TXT |
The LLVM Compiler Infrastructure ================================ This directory and its subdirectories contain source code for LLVM, a toolkit for the construction of highly optimized compilers, optimizers, and runtime environments. LLVM is open source software. You may freely distribute it under the terms of the license agreement found in LICENSE.txt. Please see the documentation provided in docs/ for further assistance with LLVM, and in particular docs/GettingStarted.rst for getting started with LLVM and docs/README.txt for an overview of LLVM's documentation setup. If you are writing a package for LLVM, see docs/Packaging.rst for our suggestions.