Go to file
Sanjoy Das 18c243b933 Bugfix: SCEVExpander incorrectly marks increment operations as no-wrap
When emitting the increment operation, SCEVExpander marks the
operation as nuw or nsw based on the flags on the preincrement SCEV.
This is incorrect because, for instance, it is possible that {-6,+,1}
is <nuw> while {-6,+,1}+1 = {-5,+,1} is not.

This change teaches SCEV to mark the increment as nuw/nsw only if it
can explicitly prove that the increment operation won't overflow.

Apart from the attached test case, another (more realistic) manifestation
of the bug can be seen in Transforms/IndVarSimplify/pr20680.ll.

NOTE: this change was landed with an incorrect commit message in
rL230275 and was reverted for that reason in rL230279.  This commit
message is the correct one.

Differential Revision: http://reviews.llvm.org/D7778

llvm-svn: 230280
2015-02-23 23:22:58 +00:00
clang Revert "Improve declaration / expression disambiguation around ptr-operators, and use" 2015-02-23 22:36:28 +00:00
clang-tools-extra Fixed script name in the clang-tidy documentation. 2015-02-23 01:12:41 +00:00
compiler-rt [asan] when registering globals, use the same unwinder as we use for malloc, instead of the one used for FATAL crash (which may be too slow) 2015-02-23 20:40:53 +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 Implement log10 2015-01-30 18:00:34 +00:00
libcxx Change string_view::at to make it work with gcc and VC++. Thanks to K-ballo for the bug report, and Jonathan Wakeley for the code review in the bar. 2015-02-23 21:12:02 +00:00
libcxxabi Add temporary workaround for missing symbol __cxa_throw_bad_new_array_length on OS X. 2015-02-21 04:30:36 +00:00
lld [ELF] Create a map from Reference to Symbol. 2015-02-23 22:32:12 +00:00
lldb Newline after usage string for lldb-server. 2015-02-23 21:48:42 +00:00
llgo Build cgo and llgo-go 2015-02-14 01:46:01 +00:00
llvm Bugfix: SCEVExpander incorrectly marks increment operations as no-wrap 2015-02-23 23:22:58 +00:00
openmp Two warning messages fixed. 2015-02-20 18:19:41 +00:00
polly [FIX] 2 broken tests 2015-02-23 16:34:20 +00:00