[LVI] Fix potential memory corruption in getValueFromCondition
authorArtur Pilipenko <apilipenko@azulsystems.com>
Fri, 12 Aug 2016 15:08:15 +0000 (15:08 +0000)
committerArtur Pilipenko <apilipenko@azulsystems.com>
Fri, 12 Aug 2016 15:08:15 +0000 (15:08 +0000)
commitb623088abe69c439838ced036cc1474c818a170e
treecf2e12e6fba0048cca002a206f6d5bbc03c22eaf
parent0d2ed35d3ea8a6625142d677dd71ee44ee0ec1b1
[LVI] Fix potential memory corruption in getValueFromCondition

Rewrite Visited[Cond] = getValueFromConditionImpl(..., Visited) statement which can lead to a memory corruption since getValueFromConditionImpl changes Visited map and invalidates the iterators.

llvm-svn: 278514
llvm/lib/Analysis/LazyValueInfo.cpp
llvm/test/Transforms/CorrelatedValuePropagation/crash.ll