llvm-6502/test
Sanjoy Das 8d16a81c33 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



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@230280 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-23 23:22:58 +00:00
..
Analysis Bugfix: SCEVExpander incorrectly marks increment operations as no-wrap 2015-02-23 23:22:58 +00:00
Assembler AsmParser: Check ConstantExpr insertvalue operands for type correctness 2015-02-23 07:13:52 +00:00
Bindings [OCaml] Add Llvm.build_empty_phi. 2015-02-06 13:42:03 +00:00
Bitcode Use common parse routine to read alignment values from bitcode 2015-02-22 19:32:03 +00:00
BugPoint IR: Move MDLocation into place 2015-01-14 22:27:36 +00:00
CodeGen Bugfix: SCEVExpander incorrectly marks increment operations as no-wrap 2015-02-23 23:22:58 +00:00
DebugInfo [llvm-pdbdump] Add an option to dump full class definitions. 2015-02-23 05:58:34 +00:00
ExecutionEngine Make frem.ll flush after calling printf. 2015-02-18 19:32:28 +00:00
Feature Don't promote asynch EH invokes of nounwind functions to calls 2015-02-11 01:23:16 +00:00
FileCheck
Instrumentation [sanitizer] fix a test broken by r229940 2015-02-20 02:12:25 +00:00
Integer
JitListener IR: Move MDLocation into place 2015-01-14 22:27:36 +00:00
Linker Add run line that was missing in r228999. 2015-02-13 16:00:03 +00:00
LTO Introduce Target::createNullTargetStreamer and use it from IRObjectFile. 2015-02-19 00:45:02 +00:00
MC [AsmPrinter] Access pointers to globals via pcrel GOT entries 2015-02-23 21:26:18 +00:00
Object [obj2yaml/yaml2obj] Add SHT_GROUP support. 2015-02-21 04:28:26 +00:00
Other Don't promote asynch EH invokes of nounwind functions to calls 2015-02-11 01:23:16 +00:00
SymbolRewriter SymbolRewriter: allow rewriting with comdats 2015-01-27 22:57:39 +00:00
TableGen
tools InstrProf: Teach llvm-cov to show the max count instead of the last 2015-02-23 21:21:34 +00:00
Transforms Bugfix: SCEVExpander incorrectly marks increment operations as no-wrap 2015-02-23 23:22:58 +00:00
Unit
Verifier Verifier: Unused comdats might not have a corresponding GV 2015-02-20 19:58:48 +00:00
YAMLParser
.clang-format
CMakeLists.txt Back out two accidental changes that snuck in with r229245. Sorry these 2015-02-14 09:05:58 +00:00
lit.cfg [gold] Consolidate the gold plugin options and actually search for 2015-02-14 09:43:57 +00:00
lit.site.cfg.in Remove log statements from config scripts. 2015-02-22 07:31:42 +00:00
Makefile Attempt to fix the builders. 2015-02-22 07:01:41 +00:00
Makefile.tests
TestRunner.sh