Go to file
Sanjoy Das 036dda25a5 [SCEV] Clarify behavior around max backedge taken count
This is a re-application of a r303497 that was reverted in r303498.
I thought it had broken a bot when it had not (the breakage did not
go away with the revert).

This change makes the split between the "exact" backedge taken count
and the "maximum" backedge taken count a bit more obvious.  Both of
these are upper bounds on the number of times the loop header
executes (since SCEV does not account for most kinds of abnormal
control flow), but the latter is guaranteed to be a constant.

There were a few places where the max backedge taken count *was* a
non-constant; I've changed those to compute constants instead.

At this point, I'm not sure if the constant max backedge count can be
computed by calling `getUnsignedRange(Exact).getUnsignedMax()` without
losing precision.  If it can, we can simplify even further by making
`getMaxBackedgeTakenCount` a thin wrapper around
`getBackedgeTakenCount` and `getUnsignedRange`.

llvm-svn: 303531
2017-05-22 06:46:04 +00:00
clang [Format] Add curly braces to suppress a -Wmisleading-indentation warning from gcc. 2017-05-21 07:29:07 +00:00
clang-tools-extra [clangd] Make formatting.test asynchronous again. 2017-05-18 20:10:04 +00:00
compiler-rt [XRay][compiler-rt] Add __xray_remove_customevent_handler(...) 2017-05-22 03:23:54 +00:00
debuginfo-tests Add additional CHECKs to safestack.c. 2017-04-17 17:57:05 +00:00
libclc math: Implement sinh function 2017-02-25 02:46:53 +00:00
libcxx [test] Add support for Objective-C++ tests 2017-05-19 23:02:49 +00:00
libcxxabi [libcxxabi] Fix the test case committed in r303175. 2017-05-16 18:18:03 +00:00
libunwind [libunwind] Fix executable stack directive on Linux. 2017-05-16 20:18:57 +00:00
lld Revert r303304: Re-submit r303225: Garbage collect dllimported symbols. 2017-05-22 06:01:37 +00:00
lldb Don't override the SDKs and force the use of /System/Library/Frameworks to 2017-05-19 23:00:42 +00:00
llgo benchcomp: Add a mode for analyzing file sizes. 2017-04-03 19:13:12 +00:00
llvm [SCEV] Clarify behavior around max backedge taken count 2017-05-22 06:46:04 +00:00
openmp Fix for KMP_AFFINITY=respect with multiple processor groups 2017-05-15 19:05:59 +00:00
parallel-libs [Axccel] Remove -Wno-missing-braces in build 2016-12-19 21:34:07 +00:00
polly [CodeGen] Support partial write accesses. 2017-05-21 22:46:57 +00:00