svn commit: r410942 - in head/devel: llvm34 llvm34/files llvm35 llvm35/files
Brooks Davis
brooks at FreeBSD.org
Sun Mar 13 04:15:59 UTC 2016
Author: brooks
Date: Sun Mar 13 04:15:57 2016
New Revision: 410942
URL: https://svnweb.freebsd.org/changeset/ports/410942
Log:
Apply r219512 from LLVM which reportedly fixes a crash building firefox.
PR: 207837
Added:
head/devel/llvm34/files/patch-svn-219512 (contents, props changed)
head/devel/llvm35/files/patch-svn-219512 (contents, props changed)
Modified:
head/devel/llvm34/Makefile
head/devel/llvm35/Makefile
Modified: head/devel/llvm34/Makefile
==============================================================================
--- head/devel/llvm34/Makefile Sun Mar 13 03:58:00 2016 (r410941)
+++ head/devel/llvm34/Makefile Sun Mar 13 04:15:57 2016 (r410942)
@@ -2,7 +2,7 @@
PORTNAME= llvm
PORTVERSION= 3.4.2
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= devel lang
MASTER_SITES= http://llvm.org/releases/${PORTVERSION}/
DISTNAME= ${PORTNAME}-${PORTVERSION}.src
Added: head/devel/llvm34/files/patch-svn-219512
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/devel/llvm34/files/patch-svn-219512 Sun Mar 13 04:15:57 2016 (r410942)
@@ -0,0 +1,62 @@
+$FreeBSD$
+------------------------------------------------------------------------
+r219512 | hfinkel | 2014-10-10 17:06:20 +0000 (Fri, 10 Oct 2014) | 10 lines
+
+[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.
+------------------------------------------------------------------------
+Index: lib/CodeGen/MachineScheduler.cpp
+===================================================================
+--- lib/CodeGen/MachineScheduler.cpp (revision 219511)
++++ lib/CodeGen/MachineScheduler.cpp (revision 219512)
+@@ -2495,8 +2495,8 @@
+ }
+ // 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.
+#Index: test/CodeGen/X86/ragreedy-last-chance-recoloring.ll
+#===================================================================
+#--- test/CodeGen/X86/ragreedy-last-chance-recoloring.ll (revision 219511)
+#+++ test/CodeGen/X86/ragreedy-last-chance-recoloring.ll (revision 219512)
+#@@ -2,10 +2,12 @@
+# ; Without the last chance recoloring, this test fails with:
+# ; "ran out of registers".
+#
+#-; RUN: not llc -regalloc=greedy -relocation-model=pic -lcr-max-depth=0 < %s 2>&1 | FileCheck %s --check-prefix=CHECK-DEPTH
+#+; NOTE: With the fix to PR18883, we don't actually run out of registers here
+#+; any more, and so those checks are disabled. This test remains only for general coverage.
+#+; XXX: not llc -regalloc=greedy -relocation-model=pic -lcr-max-depth=0 < %s 2>&1 | FileCheck %s --check-prefix=CHECK-DEPTH
+# ; Test whether failure due to cutoff for depth is reported
+#
+#-; RUN: not llc -regalloc=greedy -relocation-model=pic -lcr-max-interf=1 < %s 2>&1 | FileCheck %s --check-prefix=CHECK-INTERF
+#+; XXX: not llc -regalloc=greedy -relocation-model=pic -lcr-max-interf=1 < %s 2>&1 | FileCheck %s --check-prefix=CHECK-INTERF
+# ; Test whether failure due to cutoff for interference is reported
+#
+# ; RUN: llc -regalloc=greedy -relocation-model=pic -lcr-max-interf=1 -lcr-max-depth=0 -exhaustive-register-search < %s > %t 2>&1
+#Index: test/CodeGen/X86/misched-matmul.ll
+#===================================================================
+#--- test/CodeGen/X86/misched-matmul.ll (revision 219511)
+#+++ test/CodeGen/X86/misched-matmul.ll (revision 219512)
+#@@ -10,7 +10,7 @@
+# ; more complex cases.
+# ;
+# ; CHECK: @wrap_mul4
+#-; CHECK: 22 regalloc - Number of spills inserted
+#+; CHECK: 23 regalloc - Number of spills inserted
+#
+# define void @wrap_mul4(double* nocapture %Out, [4 x double]* nocapture %A, [4 x double]* nocapture %B) #0 {
+# entry:
Modified: head/devel/llvm35/Makefile
==============================================================================
--- head/devel/llvm35/Makefile Sun Mar 13 03:58:00 2016 (r410941)
+++ head/devel/llvm35/Makefile Sun Mar 13 04:15:57 2016 (r410942)
@@ -2,7 +2,7 @@
PORTNAME= llvm
DISTVERSION= 3.5.2
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= devel lang
MASTER_SITES= http://llvm.org/releases/3.5.2/
DISTNAME= ${PORTNAME}-${DISTVERSION}.src
Added: head/devel/llvm35/files/patch-svn-219512
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/devel/llvm35/files/patch-svn-219512 Sun Mar 13 04:15:57 2016 (r410942)
@@ -0,0 +1,62 @@
+$FreeBSD$
+------------------------------------------------------------------------
+r219512 | hfinkel | 2014-10-10 17:06:20 +0000 (Fri, 10 Oct 2014) | 10 lines
+
+[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.
+------------------------------------------------------------------------
+Index: lib/CodeGen/MachineScheduler.cpp
+===================================================================
+--- lib/CodeGen/MachineScheduler.cpp (revision 219511)
++++ lib/CodeGen/MachineScheduler.cpp (revision 219512)
+@@ -2495,8 +2495,8 @@
+ }
+ // 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.
+#Index: test/CodeGen/X86/ragreedy-last-chance-recoloring.ll
+#===================================================================
+#--- test/CodeGen/X86/ragreedy-last-chance-recoloring.ll (revision 219511)
+#+++ test/CodeGen/X86/ragreedy-last-chance-recoloring.ll (revision 219512)
+#@@ -2,10 +2,12 @@
+# ; Without the last chance recoloring, this test fails with:
+# ; "ran out of registers".
+#
+#-; RUN: not llc -regalloc=greedy -relocation-model=pic -lcr-max-depth=0 < %s 2>&1 | FileCheck %s --check-prefix=CHECK-DEPTH
+#+; NOTE: With the fix to PR18883, we don't actually run out of registers here
+#+; any more, and so those checks are disabled. This test remains only for general coverage.
+#+; XXX: not llc -regalloc=greedy -relocation-model=pic -lcr-max-depth=0 < %s 2>&1 | FileCheck %s --check-prefix=CHECK-DEPTH
+# ; Test whether failure due to cutoff for depth is reported
+#
+#-; RUN: not llc -regalloc=greedy -relocation-model=pic -lcr-max-interf=1 < %s 2>&1 | FileCheck %s --check-prefix=CHECK-INTERF
+#+; XXX: not llc -regalloc=greedy -relocation-model=pic -lcr-max-interf=1 < %s 2>&1 | FileCheck %s --check-prefix=CHECK-INTERF
+# ; Test whether failure due to cutoff for interference is reported
+#
+# ; RUN: llc -regalloc=greedy -relocation-model=pic -lcr-max-interf=1 -lcr-max-depth=0 -exhaustive-register-search < %s > %t 2>&1
+#Index: test/CodeGen/X86/misched-matmul.ll
+#===================================================================
+#--- test/CodeGen/X86/misched-matmul.ll (revision 219511)
+#+++ test/CodeGen/X86/misched-matmul.ll (revision 219512)
+#@@ -10,7 +10,7 @@
+# ; more complex cases.
+# ;
+# ; CHECK: @wrap_mul4
+#-; CHECK: 22 regalloc - Number of spills inserted
+#+; CHECK: 23 regalloc - Number of spills inserted
+#
+# define void @wrap_mul4(double* nocapture %Out, [4 x double]* nocapture %A, [4 x double]* nocapture %B) #0 {
+# entry:
More information about the svn-ports-head
mailing list