]> CyberLeo.Net >> Repos - FreeBSD/stable/9.git/commit
MFC r309722:
authordim <dim@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Sun, 11 Dec 2016 19:58:13 +0000 (19:58 +0000)
committerdim <dim@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Sun, 11 Dec 2016 19:58:13 +0000 (19:58 +0000)
commit6fadc7186750baa5f05402756b414d77d9056720
tree6c8914a859dc48d02a7fa1eb3914a149a18337fb
parent1cbbae57967d5645d51537557c32960bf1cbe3ca
MFC r309722:

Pull in r281586 from upstream llvm trunk (by Wei Mi):

  Add some shortcuts in LazyValueInfo to reduce compile time of
  Correlated Value Propagation.

  The patch is to partially fix PR10584. Correlated Value Propagation
  queries LVI to check non-null for pointer params of each callsite. If
  we know the def of param is an alloca instruction, we know it is
  non-null and can return early from LVI. Similarly, CVP queries LVI to
  check whether pointer for each mem access is constant. If the def of
  the pointer is an alloca instruction, we know it is not a constant
  pointer. These shortcuts can reduce the cost of CVP significantly.

  Differential Revision: https://reviews.llvm.org/D18066

This significantly reduces memory usage and compilation time when
compiling a particular C++ source file of the graphics/colmap port.

PR: 215136

git-svn-id: svn://svn.freebsd.org/base/stable/9@309857 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
contrib/llvm/lib/Analysis/LazyValueInfo.cpp