Teach CorrelatedValuePropagation to mark adds as no wrap
authorArtur Pilipenko <apilipenko@azulsystems.com>
Tue, 9 Aug 2016 09:41:34 +0000 (09:41 +0000)
committerArtur Pilipenko <apilipenko@azulsystems.com>
Tue, 9 Aug 2016 09:41:34 +0000 (09:41 +0000)
commita410d81f64a89ec2a0d43773b326d2b820ac0357
treec643fd8986e30cefc2ecbec5193ba06e4d4998be
parent54c32ddf558030dc571ba6809944a1240b663d11
Teach CorrelatedValuePropagation to mark adds as no wrap

Use LVI to prove that adds do not wrap. The change is motivated by https://llvm.org/bugs/show_bug.cgi?id=28620 bug and it's the first step to fix that problem.

Reviewed By: sanjoy

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

llvm-svn: 278107
llvm/lib/Analysis/LazyValueInfo.cpp
llvm/test/Transforms/CorrelatedValuePropagation/range.ll