Go to file
Alina Sbirlea 6cba96ed52 [LICM/MSSA] Add promotion to scalars by building an AliasSetTracker with MemorySSA.
Summary:
Experimentally we found that promotion to scalars carries less benefits
than sinking and hoisting in LICM. When using MemorySSA, we build an
AliasSetTracker on demand in order to reuse the current infrastructure.
We only build it if less than AccessCapForMSSAPromotion exist in the
loop, a cap that is by default set to 250. This value ensures there are
no runtime regressions, and there are small compile time gains for
pathological cases. A much lower value (20) was found to yield a single
regression in the llvm-test-suite and much higher benefits for compile
times. Conservatively we set the current cap to a high value, but we will
explore lowering it when MemorySSA is enabled by default.

Reviewers: sanjoy, chandlerc

Subscribers: nemanjai, jlebar, Prazek, george.burgess.iv, jfb, jsji, llvm-commits

Differential Revision: https://reviews.llvm.org/D56625

llvm-svn: 353339
2019-02-06 20:25:17 +00:00
clang [COFF, ARM64] Add ARM64 support for MS intrinsic _fastfail 2019-02-06 20:08:26 +00:00
clang-tools-extra [clang-tidy] modernize-avoid-c-arrays: avoid main function (PR40604) 2019-02-06 19:17:30 +00:00
compiler-rt [sanitizer] Fix fuchsia and windows build. 2019-02-06 01:58:23 +00:00
debuginfo-tests Set config.lit_tools_dir, which is needed by lit.llvm.initialize. 2018-11-06 21:54:27 +00:00
libclc Adjust documentation for git migration. 2019-01-29 16:37:27 +00:00
libcxx Revert "[libc++] Only add dylib-related features when using the system's libc++" 2019-02-06 18:33:02 +00:00
libcxxabi [CMake] Support compiler-rt builtins library in tests 2019-02-05 19:50:47 +00:00
libunwind [CMake] Support compiler-rt builtins library in tests 2019-02-05 19:50:47 +00:00
lld Remove a small header that is used only by one file. NFC. 2019-02-06 19:28:23 +00:00
lldb Add SBReproducer to Xcode project 2019-02-06 19:05:43 +00:00
llgo Adjust documentation for git migration. 2019-01-29 16:37:27 +00:00
llvm [LICM/MSSA] Add promotion to scalars by building an AliasSetTracker with MemorySSA. 2019-02-06 20:25:17 +00:00
openmp [OMPT] Make sure that OMPT is enabled when accessing internals of the runtime 2019-02-04 15:59:42 +00:00
parallel-libs Fix typos throughout the license files that somehow I and my reviewers 2019-01-21 09:52:34 +00:00
polly Adjust documentation for git migration. 2019-01-29 16:37:27 +00:00
pstl Fix typos throughout the license files that somehow I and my reviewers 2019-01-21 09:52:34 +00:00
.arcconfig Update monorepo .arcconfig with new project callsign. 2019-01-31 14:34:59 +00:00
.clang-format Add .clang-tidy and .clang-format files to the toplevel of the 2019-01-29 16:43:16 +00:00
.clang-tidy Disable tidy checks with too many hits 2019-02-01 11:20:13 +00:00
README.md

README.md

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.