Go to file
Michael Kuperstein b151a641aa [LoopUnroll] Implement profile-based loop peeling
This implements PGO-driven loop peeling.

The basic idea is that when the average dynamic trip-count of a loop is known,
based on PGO, to be low, we can expect a performance win by peeling off the
first several iterations of that loop.
Unlike unrolling based on a known trip count, or a trip count multiple, this
doesn't save us the conditional check and branch on each iteration. However,
it does allow us to simplify the straight-line code we get (constant-folding,
etc.). This is important given that we know that we will usually only hit this
code, and not the actual loop.

This is currently disabled by default.

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

llvm-svn: 288274
2016-11-30 21:13:57 +00:00
clang Prospective MSVC workaround. 2016-11-30 20:46:55 +00:00
clang-tools-extra [clang-tidy] Make format style customizable 2016-11-30 18:06:42 +00:00
compiler-rt Release memory to OS only when the requested range covers the entire page 2016-11-30 20:41:59 +00:00
debuginfo-tests
libclc Fix build since r286752. 2016-11-14 16:06:33 +00:00
libcxx Protect std::array tests under noexceptions 2016-11-29 17:10:29 +00:00
libcxxabi __cxa_demangle: use default member initialization 2016-11-18 19:01:53 +00:00
libunwind EHABI: mark some functions as exported 2016-11-17 23:53:35 +00:00
lld Change how we manage groups in ICF. 2016-11-30 01:50:03 +00:00
lldb Fix handling of consecutive slashes in FileSpec::GetNormalizedPath() 2016-11-30 16:08:45 +00:00
llgo [llgo] add llgo source path to LLVM_GO_PACKAGES 2016-07-27 03:01:00 +00:00
llvm [LoopUnroll] Implement profile-based loop peeling 2016-11-30 21:13:57 +00:00
openmp Fixed typo in kmp_process_deps trace output 2016-11-28 20:10:32 +00:00
parallel-libs [Acxxel] Remove setActiveDeviceForThread 2016-10-28 00:54:02 +00:00
polly Fix some Clang-tidy modernize-use-default and Include What You Use warnings; other minor fixes (NFC). 2016-11-29 18:14:12 +00:00