Go to file
John Brawn ecf79300dd [SCEV] More accurate calculation of max backedge count of some less-than loops
In loops that look something like
 i = n;
 do {
  ...
 } while(i++ < n+k);
where k is a constant, the maximum backedge count is k (in fact the backedge
count will be either 0 or k, depending on whether n+k wraps). More generally
for LHS < RHS if RHS-(LHS of first comparison) is a constant then the loop will
iterate either 0 or that constant number of times.

This allows for more loop unrolling with the recent upper bound loop unrolling
changes, and I'm working on a patch that will let loop unrolling additionally
make use of the loop being executed either 0 or k times (we need to retain the
loop comparison only on the first unrolled iteration).

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

llvm-svn: 284465
2016-10-18 10:10:53 +00:00
clang [libclang] Add missing cursor kinds to python bindings. 2016-10-18 09:42:03 +00:00
clang-tools-extra [clang-tidy] Clean up code after applying replacements. 2016-10-17 17:25:02 +00:00
compiler-rt [profile] Mark lprofCurFilename as COMPILER_RT_WEAK 2016-10-18 00:02:28 +00:00
debuginfo-tests New round of fixes for "Always compile debuginfo-tests for the host triple" 2014-10-18 23:47:59 +00:00
libclc Provide vstore_half helper to workaround clc restrictions 2016-09-21 20:15:55 +00:00
libcxx Make any_cast<void()>(nullptr) compile 2016-10-16 11:56:38 +00:00
libcxxabi Fix typo in comment 2016-10-15 00:02:20 +00:00
libunwind [libunwind] Add missing <stdint.h> include. NFC. 2016-10-13 14:32:24 +00:00
lld [CMake] Add missing dependency on intrinsics_gen 2016-10-18 00:50:39 +00:00
lldb Remove a debug print statement. 2016-10-18 01:52:32 +00:00
llgo [llgo] add llgo source path to LLVM_GO_PACKAGES 2016-07-27 03:01:00 +00:00
llvm [SCEV] More accurate calculation of max backedge count of some less-than loops 2016-10-18 10:10:53 +00:00
openmp Code cleanup for the runtime without monitor thread 2016-10-07 18:12:19 +00:00
parallel-libs [SE] Change CoreTests target name 2016-09-27 15:32:52 +00:00
polly Handle multi-dimensional invariant load. 2016-10-17 21:04:26 +00:00