Date: Thu, 26 Jan 2017 07:32:48 +0100 From: Antoine Brodin <antoine@freebsd.org> To: Dimitry Andric <dim@freebsd.org> Cc: src-committers <src-committers@freebsd.org>, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r312765 - in head/contrib/llvm: include/llvm/Analysis lib/Analysis Message-ID: <CAALwa8kQ_EZQfgr9s1XywFJepAFJWRQqOSUHwjh8torrPdQA6Q@mail.gmail.com> In-Reply-To: <201701251759.v0PHxMWN032521@repo.freebsd.org> References: <201701251759.v0PHxMWN032521@repo.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Jan 25, 2017 at 6:59 PM, Dimitry Andric <dim@freebsd.org> wrote: > Author: dim > Date: Wed Jan 25 17:59:22 2017 > New Revision: 312765 > URL: https://svnweb.freebsd.org/changeset/base/312765 > > Log: > Pull in r276136 from upstream llvm trunk (by Wei Mi): > > Use ValueOffsetPair to enhance value reuse during SCEV expansion. > > In D12090, the ExprValueMap was added to reuse existing value during > SCEV expansion. However, const folding and sext/zext distribution can > make the reuse still difficult. > > A simplified case is: suppose we know S1 expands to V1 in > ExprValueMap, and > S1 = S2 + C_a > S3 = S2 + C_b > where C_a and C_b are different SCEVConstants. Then we'd like to > expand S3 as V1 - C_a + C_b instead of expanding S2 literally. It is > helpful when S2 is a complex SCEV expr and S2 has no entry in > ExprValueMap, which is usually caused by the fact that S3 is > generated from S1 after const folding. > > In order to do that, we represent ExprValueMap as a mapping from SCEV > to ValueOffsetPair. We will save both S1->{V1, 0} and S2->{V1, C_a} > into the ExprValueMap when we create SCEV for V1. When S3 is > expanded, it will first expand S2 to V1 - C_a because of S2->{V1, > C_a} in the map, then expand S3 to V1 - C_a + C_b. > > Differential Revision: https://reviews.llvm.org/D21313 > > This should fix assertion failures when building OpenCV >= 3.1. > > PR: 215649 > MFC after: 3 days Hi, I don't know if it's this commit, but there is now an assertion failure when trying to build lang/spidermonkey24 (It was building fine with base/head@312672) http://beefy12.nyi.freebsd.org/data/head-amd64-default/p432463_s312786/logs/errors/spidermonkey24-24.2.0_4.log Cheers, Antoine
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAALwa8kQ_EZQfgr9s1XywFJepAFJWRQqOSUHwjh8torrPdQA6Q>