From owner-svn-src-stable@freebsd.org Sun Mar 13 18:34:33 2016 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 97CA1ACF100; Sun, 13 Mar 2016 18:34:33 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4E40B105A; Sun, 13 Mar 2016 18:34:33 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2DIYWhg012416; Sun, 13 Mar 2016 18:34:32 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2DIYWcl012415; Sun, 13 Mar 2016 18:34:32 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201603131834.u2DIYWcl012415@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sun, 13 Mar 2016 18:34:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r296802 - stable/10/contrib/llvm/patches X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 13 Mar 2016 18:34:33 -0000 Author: dim Date: Sun Mar 13 18:34:32 2016 New Revision: 296802 URL: https://svnweb.freebsd.org/changeset/base/296802 Log: Add patch corresponding to r296800. Added: stable/10/contrib/llvm/patches/patch-r296800-llvm-r219512-out-of-registers.diff Added: stable/10/contrib/llvm/patches/patch-r296800-llvm-r219512-out-of-registers.diff ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ stable/10/contrib/llvm/patches/patch-r296800-llvm-r219512-out-of-registers.diff Sun Mar 13 18:34:32 2016 (r296802) @@ -0,0 +1,33 @@ +Pull in r219512 from upstream llvm trunk (by Hal Finkel): + + [MiSched] Fix a logic error in tryPressure() + + Fixes a logic error in the MachineScheduler found by Steve Montgomery + (and confirmed by Andy). This has gone unfixed for months because the + fix has been found to introduce some small performance regressions. + However, Andy has recommended that, at this point, we fix this to + avoid further dependence on the incorrect behavior (and then + follow-up separately on any regressions), and I agree. + + Fixes PR18883. + +This fixes a possible "ran out of registers" error when compiling +www/firefox 45.0 on i386. + +Introduced here: http://svnweb.freebsd.org/changeset/base/xxxxxx + +Index: lib/CodeGen/MachineScheduler.cpp +=================================================================== +--- lib/CodeGen/MachineScheduler.cpp ++++ lib/CodeGen/MachineScheduler.cpp +@@ -2365,8 +2365,8 @@ static bool tryPressure(const PressureChange &TryP + } + // If one candidate decreases and the other increases, go with it. + // Invalid candidates have UnitInc==0. +- if (tryLess(TryP.getUnitInc() < 0, CandP.getUnitInc() < 0, TryCand, Cand, +- Reason)) { ++ if (tryGreater(TryP.getUnitInc() < 0, CandP.getUnitInc() < 0, TryCand, Cand, ++ Reason)) { + return true; + } + // If the candidates are decreasing pressure, reverse priority.