svn commit: r312765 - in head/contrib/llvm: include/llvm/Analysis lib/Analysis
Antoine Brodin
antoine at freebsd.org
Thu Jan 26 06:32:50 UTC 2017
On Wed, Jan 25, 2017 at 6:59 PM, Dimitry Andric <dim at 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 at 312672)
http://beefy12.nyi.freebsd.org/data/head-amd64-default/p432463_s312786/logs/errors/spidermonkey24-24.2.0_4.log
Cheers,
Antoine
More information about the svn-src-all
mailing list