[LazyValueInfo] Report nonnull range for nonnull pointers
authorIgor Laevsky <igmyrj@gmail.com>
Fri, 18 Sep 2015 13:01:48 +0000 (13:01 +0000)
committerIgor Laevsky <igmyrj@gmail.com>
Fri, 18 Sep 2015 13:01:48 +0000 (13:01 +0000)
commitef40e27a137c69442c230cc3a52065c4007ecf71
tree5a9ddbaf2175436ee4c107d42dadf0b3bfa88080
parent0c5094b419c1aa6977cb6771f054c97e67cf5eed
[LazyValueInfo] Report nonnull range for nonnull pointers

Currently LazyValueInfo will report only alloca's as having nonnull range.
For loads with !nonnull metadata it will bailout with no additional information.
Same is true for calls returning nonnull pointers.

This change extends LazyValueInfo to handle additional nonnull instructions.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247985 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Analysis/LazyValueInfo.cpp
test/Transforms/CorrelatedValuePropagation/non-null.ll