Author: dim
Date: Sun Mar 13 18:37:41 2016
New Revision: 296803
URL: https://svnweb.freebsd.org/changeset/base/296803

Log:
  Merge r296802 from stable/10, which adds a patch corresponding to
  r296800, and record that r296800 was 'merged' also.

Added:
  stable/9/contrib/llvm/patches/patch-r296800-llvm-r219512-out-of-registers.diff
     - copied unchanged from r296802, 
stable/10/contrib/llvm/patches/patch-r296800-llvm-r219512-out-of-registers.diff
Modified:
Directory Properties:
  stable/9/   (props changed)
  stable/9/contrib/   (props changed)
  stable/9/contrib/llvm/   (props changed)

Copied: 
stable/9/contrib/llvm/patches/patch-r296800-llvm-r219512-out-of-registers.diff 
(from r296802, 
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/9/contrib/llvm/patches/patch-r296800-llvm-r219512-out-of-registers.diff  
    Sun Mar 13 18:37:41 2016        (r296803, copy of r296802, 
stable/10/contrib/llvm/patches/patch-r296800-llvm-r219512-out-of-registers.diff)
@@ -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.
_______________________________________________
svn-src-stable-9@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-stable-9
To unsubscribe, send any mail to "svn-src-stable-9-unsubscr...@freebsd.org"

Reply via email to