]> CyberLeo.Net >> Repos - FreeBSD/stable/10.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)
commit9ca45c08b9220c6bc2355647c75f94b57628baa7
tree0f0402323bc4943395b0eea751ffa427d080feaf
parent2c015e5a229bb221a1df44177fad9b4b7a345e29
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/10@309857 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
contrib/llvm/lib/Analysis/LazyValueInfo.cpp