public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/gcc] rhel-f41-base: 6.0.0-0.9
@ 2026-06-29 12:27 Jakub Jelinek
0 siblings, 0 replies; 2+ messages in thread
From: Jakub Jelinek @ 2026-06-29 12:27 UTC (permalink / raw)
To: git-commits
A new commit has been pushed.
Repo : rpms/gcc
Branch : rhel-f41-base
Commit : 2d005021d33a0d9bd4a61c1170284aca6fad42da
Author : Jakub Jelinek <jakub@redhat.com>
Date : 2016-02-01T23:03:55+01:00
Stats : +154/-0 in 1 file(s)
URL : https://src.fedoraproject.org/rpms/gcc/c/2d005021d33a0d9bd4a61c1170284aca6fad42da?branch=rhel-f41-base
Log:
6.0.0-0.9
---
diff --git a/gcc6-pr69592.patch b/gcc6-pr69592.patch
new file mode 100644
index 0000000..2fab52a
--- /dev/null
+++ b/gcc6-pr69592.patch
@@ -0,0 +1,154 @@
+2016-02-01 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/69592
+ * rtlanal.c (nonzero_bits_binary_arith_p): New inline function.
+ (cached_nonzero_bits): Use it instead of ARITHMETIC_P.
+ (num_sign_bit_copies_binary_arith_p): New inline function.
+ (cached_num_sign_bit_copies): Use it instead of ARITHMETIC_P.
+
+ * gcc.dg/pr69592.c: New test.
+
+--- gcc/rtlanal.c.jj 2016-01-21 21:27:57.000000000 +0100
++++ gcc/rtlanal.c 2016-02-01 18:53:06.130934333 +0100
+@@ -4163,6 +4163,36 @@ num_sign_bit_copies (const_rtx x, machin
+ return cached_num_sign_bit_copies (x, mode, NULL_RTX, VOIDmode, 0);
+ }
+
++/* Return true if nonzero_bits1 might recurse into both operands
++ of X. */
++
++static inline bool
++nonzero_bits_binary_arith_p (const_rtx x)
++{
++ if (!ARITHMETIC_P (x))
++ return false;
++ switch (GET_CODE (x))
++ {
++ case AND:
++ case XOR:
++ case IOR:
++ case UMIN:
++ case UMAX:
++ case SMIN:
++ case SMAX:
++ case PLUS:
++ case MINUS:
++ case MULT:
++ case DIV:
++ case UDIV:
++ case MOD:
++ case UMOD:
++ return true;
++ default:
++ return false;
++ }
++}
++
+ /* The function cached_nonzero_bits is a wrapper around nonzero_bits1.
+ It avoids exponential behavior in nonzero_bits1 when X has
+ identical subexpressions on the first or the second level. */
+@@ -4179,7 +4209,7 @@ cached_nonzero_bits (const_rtx x, machin
+ nonzero_bits1 on X with the subexpressions as KNOWN_X and the
+ precomputed value for the subexpression as KNOWN_RET. */
+
+- if (ARITHMETIC_P (x))
++ if (nonzero_bits_binary_arith_p (x))
+ {
+ rtx x0 = XEXP (x, 0);
+ rtx x1 = XEXP (x, 1);
+@@ -4191,13 +4221,13 @@ cached_nonzero_bits (const_rtx x, machin
+ known_mode, known_ret));
+
+ /* Check the second level. */
+- if (ARITHMETIC_P (x0)
++ if (nonzero_bits_binary_arith_p (x0)
+ && (x1 == XEXP (x0, 0) || x1 == XEXP (x0, 1)))
+ return nonzero_bits1 (x, mode, x1, mode,
+ cached_nonzero_bits (x1, mode, known_x,
+ known_mode, known_ret));
+
+- if (ARITHMETIC_P (x1)
++ if (nonzero_bits_binary_arith_p (x1)
+ && (x0 == XEXP (x1, 0) || x0 == XEXP (x1, 1)))
+ return nonzero_bits1 (x, mode, x0, mode,
+ cached_nonzero_bits (x0, mode, known_x,
+@@ -4672,6 +4702,33 @@ nonzero_bits1 (const_rtx x, machine_mode
+ #undef cached_num_sign_bit_copies
+
+ \f
++/* Return true if num_sign_bit_copies1 might recurse into both operands
++ of X. */
++
++static inline bool
++num_sign_bit_copies_binary_arith_p (const_rtx x)
++{
++ if (!ARITHMETIC_P (x))
++ return false;
++ switch (GET_CODE (x))
++ {
++ case IOR:
++ case AND:
++ case XOR:
++ case SMIN:
++ case SMAX:
++ case UMIN:
++ case UMAX:
++ case PLUS:
++ case MINUS:
++ case MULT:
++ return true;
++ default:
++ return false;
++ }
++}
++
++
+ /* The function cached_num_sign_bit_copies is a wrapper around
+ num_sign_bit_copies1. It avoids exponential behavior in
+ num_sign_bit_copies1 when X has identical subexpressions on the
+@@ -4689,7 +4746,7 @@ cached_num_sign_bit_copies (const_rtx x,
+ num_sign_bit_copies1 on X with the subexpressions as KNOWN_X and
+ the precomputed value for the subexpression as KNOWN_RET. */
+
+- if (ARITHMETIC_P (x))
++ if (num_sign_bit_copies_binary_arith_p (x))
+ {
+ rtx x0 = XEXP (x, 0);
+ rtx x1 = XEXP (x, 1);
+@@ -4703,7 +4760,7 @@ cached_num_sign_bit_copies (const_rtx x,
+ known_ret));
+
+ /* Check the second level. */
+- if (ARITHMETIC_P (x0)
++ if (num_sign_bit_copies_binary_arith_p (x0)
+ && (x1 == XEXP (x0, 0) || x1 == XEXP (x0, 1)))
+ return
+ num_sign_bit_copies1 (x, mode, x1, mode,
+@@ -4711,7 +4768,7 @@ cached_num_sign_bit_copies (const_rtx x,
+ known_mode,
+ known_ret));
+
+- if (ARITHMETIC_P (x1)
++ if (num_sign_bit_copies_binary_arith_p (x1)
+ && (x0 == XEXP (x1, 0) || x0 == XEXP (x1, 1)))
+ return
+ num_sign_bit_copies1 (x, mode, x0, mode,
+--- gcc/testsuite/gcc.dg/pr69592.c.jj 2016-02-01 19:02:23.122251761 +0100
++++ gcc/testsuite/gcc.dg/pr69592.c 2016-02-01 19:00:30.000000000 +0100
+@@ -0,0 +1,16 @@
++/* PR rtl-optimization/69592 */
++/* { dg-do compile } */
++/* { dg-options "-O2" } */
++
++unsigned int
++foo (unsigned int a, unsigned int *b, unsigned int c)
++{
++ unsigned int d;
++#define A(n) d = a + b[n]; if (d < a) c++; a = d;
++#define B(n) A(n##0) A(n##1) A(n##2) A(n##3) A(n##4) A(n##5) A(n##6) A(n##7) A(n##8) A(n##9)
++#define C(n) B(n##0) B(n##1) B(n##2) B(n##3) B(n##4) B(n##5) B(n##6) B(n##7) B(n##8) B(n##9)
++#define D(n) C(n##0) C(n##1) C(n##2) C(n##3) C(n##4) C(n##5) C(n##6) C(n##7) C(n##8) C(n##9)
++#define E(n) D(n##0) D(n##1) D(n##2) D(n##3) D(n##4) D(n##5) D(n##6) D(n##7) D(n##8) D(n##9)
++ C(1) C(2) C(3) C(4) C(5) C(6)
++ return d + c;
++}
^ permalink raw reply related [flat|nested] 2+ messages in thread* [rpms/gcc] rhel-f41-base: 6.0.0-0.9
@ 2026-06-29 12:27 Jakub Jelinek
0 siblings, 0 replies; 2+ messages in thread
From: Jakub Jelinek @ 2026-06-29 12:27 UTC (permalink / raw)
To: git-commits
A new commit has been pushed.
Repo : rpms/gcc
Branch : rhel-f41-base
Commit : 885401bf7e496129743989bf0e83c8b359aa857d
Author : Jakub Jelinek <jakub@redhat.com>
Date : 2016-02-01T22:14:28+01:00
Stats : +10/-3 in 2 file(s)
URL : https://src.fedoraproject.org/rpms/gcc/c/885401bf7e496129743989bf0e83c8b359aa857d?branch=rhel-f41-base
Log:
6.0.0-0.9
---
diff --git a/gcc.spec b/gcc.spec
index 1f07d22..6959985 100644
--- a/gcc.spec
+++ b/gcc.spec
@@ -1,9 +1,9 @@
%global DATE 20160201
-%global SVNREV 233038
+%global SVNREV 233052
%global gcc_version 6.0.0
# Note, gcc_release must be integer, if you want to add suffixes to
# %{release}, append them after %{gcc_release} on Release: line.
-%global gcc_release 0.8
+%global gcc_release 0.9
%global _unpackaged_files_terminate_build 0
%global _performance_build 1
# Hardening slows the compiler way too much.
@@ -207,6 +207,7 @@ Patch11: gcc6-libgo-p224.patch
Patch12: gcc6-aarch64-async-unw-tables.patch
Patch13: gcc6-libsanitize-aarch64-va42.patch
Patch14: gcc6-pr69558.patch
+Patch15: gcc6-pr69592.patch
# On ARM EABI systems, we do want -gnueabi to be part of the
# target triple.
@@ -774,6 +775,7 @@ rm -f libgo/go/crypto/elliptic/p224{,_test}.go
%patch12 -p0 -b .aarch64-async-unw-tables~
%patch13 -p0 -b .libsanitize-aarch64-va42~
%patch14 -p0 -b .pr69558~
+%patch15 -p0 -b .pr69592~
%if 0%{?_enable_debug_packages}
mkdir dwz-wrapper
@@ -3066,6 +3068,11 @@ fi
%doc rpm.doc/changelogs/libcc1/ChangeLog*
%changelog
+* Mon Feb 1 2016 Jakub Jelinek <jakub@redhat.com> 6.0.0-0.9
+- update from the trunk
+ - PRs middle-end/69556, tree-optimization/67921, tree-optimization/69574
+- fix compile time and memory hog in combiner (PR rtl-optimization/69592)
+
* Mon Feb 1 2016 Jakub Jelinek <jakub@redhat.com> 6.0.0-0.8
- update from the trunk
- PRs c++/68490, c++/68763, c++/69009, debug/68244, fortran/66707,
diff --git a/sources b/sources
index 369ae56..12fef62 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-c03845599ed8e2fa3d7db3995d7029b6 gcc-6.0.0-20160201.tar.bz2
+a5ea3b53e3c52e684097d088f7d9a565 gcc-6.0.0-20160201.tar.bz2
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-06-29 12:27 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-06-29 12:27 [rpms/gcc] rhel-f41-base: 6.0.0-0.9 Jakub Jelinek
-- strict thread matches above, loose matches on Subject: below --
2026-06-29 12:27 Jakub Jelinek
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox