public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
From: Jakub Jelinek <jakub@redhat.com>
To: git-commits@fedoraproject.org
Subject: [rpms/gcc] rhel-f41-base: 4.8.0-0.11
Date: Mon, 29 Jun 2026 12:25:44 GMT	[thread overview]
Message-ID: <178273594433.1.17826669534066315824.rpms-gcc-b4711962194a@fedoraproject.org> (raw)

A new commit has been pushed.

Repo   : rpms/gcc
Branch : rhel-f41-base
Commit : b4711962194a2a9982f01563c573e71f5fe4e8c8
Author : Jakub Jelinek <jakub@redhat.com>
Date   : 2013-02-11T22:40:42+01:00
Stats  : +88/-165 in 7 file(s)
URL    : https://src.fedoraproject.org/rpms/gcc/c/b4711962194a2a9982f01563c573e71f5fe4e8c8?branch=rhel-f41-base

Log:
4.8.0-0.11

---
diff --git a/.gitignore b/.gitignore
index cea4278..e48c1d4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -59,3 +59,4 @@
 /gcc-4.8.0-20130131.tar.bz2
 /gcc-4.8.0-20130206.tar.bz2
 /gcc-4.8.0-20130208.tar.bz2
+/gcc-4.8.0-20130211.tar.bz2

diff --git a/gcc.spec b/gcc.spec
index ab4d70a..945c3c0 100644
--- a/gcc.spec
+++ b/gcc.spec
@@ -1,9 +1,9 @@
-%global DATE 20130208
-%global SVNREV 195894
+%global DATE 20130211
+%global SVNREV 195954
 %global gcc_version 4.8.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.10
+%global gcc_release 0.11
 %global _unpackaged_files_terminate_build 0
 %global multilib_64_archs sparc64 ppc64 s390x x86_64
 %ifarch %{ix86} x86_64 ia64 ppc ppc64 alpha
@@ -194,9 +194,7 @@ Patch10: gcc48-pr38757.patch
 Patch11: gcc48-libstdc++-docs.patch
 Patch12: gcc48-no-add-needed.patch
 Patch13: gcc48-pr55608.patch
-Patch14: gcc48-pr56256.patch
-Patch15: gcc48-pr53948.patch
-Patch16: gcc48-pr56245.patch
+Patch14: gcc48-pr56151.patch
 
 Patch1000: fastjar-0.97-segfault.patch
 Patch1001: fastjar-0.97-len1.patch
@@ -749,9 +747,7 @@ package or when debugging this package.
 %endif
 %patch12 -p0 -b .no-add-needed~
 %patch13 -p0 -b .pr55608~
-%patch14 -p0 -b .pr56256~
-%patch15 -p0 -b .pr53948~
-%patch16 -p0 -b .pr56245~
+%patch14 -p0 -b .pr56151~
 
 %if 0%{?_enable_debug_packages}
 cat > split-debuginfo.sh <<\EOF
@@ -2975,6 +2971,14 @@ fi
 %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/plugin
 
 %changelog
+* Mon Feb 11 2013 Jakub Jelinek <jakub@redhat.com> 4.8.0-0.11
+- updated from trunk
+  - PRs c++/56238, c++/56247, c++/56268, fortran/55362, libstdc++/56267,
+	libstdc++/56278, libstdc++/56282, rtl-optimization/56246,
+	rtl-optimization/56275, target/56043, tree-optimization/56264,
+	tree-optimization/56273
+- improve expansion of mem1 op= mem2 (PR rtl-optimization/56151)
+
 * Fri Feb  8 2013 Jakub Jelinek <jakub@redhat.com> 4.8.0-0.10
 - updated from trunk
   - PRs bootstrap/56227, c++/56235, c++/56237, c++/56239, c++/56241,

diff --git a/gcc48-pr53948.patch b/gcc48-pr53948.patch
deleted file mode 100644
index e9847a2..0000000
--- a/gcc48-pr53948.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-2013-02-08  Jeff Law  <law@redhat.com>
-
-	PR debug/53948
-	* emit-rtl.c (reg_is_parm_p): New function.
-	* regs.h (reg_is_parm_p): New prototype.
-	* ira-conflicts.c (ira_build_conflicts): Allow parameters in
-	callee-clobbered registers.
-
-	* gcc.dg/debug/dwarf2/pr53948.c: New test.
-
---- gcc/emit-rtl.c
-+++ gcc/emit-rtl.c
-@@ -919,6 +919,18 @@ gen_reg_rtx (enum machine_mode mode)
-   return val;
- }
- 
-+/* Return TRUE if REG is a PARM_DECL, FALSE otherwise.  */
-+
-+bool
-+reg_is_parm_p (rtx reg)
-+{
-+  tree decl;
-+
-+  gcc_assert (REG_P (reg));
-+  decl = REG_EXPR (reg);
-+  return (decl && TREE_CODE (decl) == PARM_DECL);
-+}
-+
- /* Update NEW with the same attributes as REG, but with OFFSET added
-    to the REG_OFFSET.  */
- 
---- gcc/ira-conflicts.c
-+++ gcc/ira-conflicts.c
-@@ -895,8 +895,12 @@ ira_build_conflicts (void)
- 
- 	  if ((! flag_caller_saves && ALLOCNO_CALLS_CROSSED_NUM (a) != 0)
- 	      /* For debugging purposes don't put user defined variables in
--		 callee-clobbered registers.  */
--	      || (optimize == 0 && REG_USERVAR_P (allocno_reg)))
-+		 callee-clobbered registers.  However, do allow parameters
-+		 in callee-clobbered registers to improve debugging.  This
-+		 is a bit of a fragile hack.  */
-+	      || (optimize == 0
-+		  && REG_USERVAR_P (allocno_reg)
-+		  && ! reg_is_parm_p (allocno_reg)))
- 	    {
- 	      IOR_HARD_REG_SET (OBJECT_TOTAL_CONFLICT_HARD_REGS (obj),
- 				call_used_reg_set);
---- gcc/regs.h
-+++ gcc/regs.h
-@@ -89,6 +89,8 @@ REG_N_SETS (int regno)
- #define SET_REG_N_SETS(N,V) (regstat_n_sets_and_refs[N].sets = V)
- #define INC_REG_N_SETS(N,V) (regstat_n_sets_and_refs[N].sets += V)
- 
-+/* Given a REG, return TRUE if the reg is a PARM_DECL, FALSE otherwise.  */
-+extern bool reg_is_parm_p (rtx);
- 
- /* Functions defined in regstat.c.  */
- extern void regstat_init_n_sets_and_refs (void);
---- gcc/testsuite/gcc.dg/debug/dwarf2/pr53948.c	2012-11-17 15:43:17.572007394 +0100
-+++ gcc/testsuite/gcc.dg/debug/dwarf2/pr53948.c	2013-02-08 19:10:23.000000000 +0100
-@@ -0,0 +1,10 @@
-+/* Test that we emit a .line directive for the line
-+   with local variable initializations.  */
-+/* { dg-options "-O0 -g -dA" } */
-+/* { dg-final { scan-assembler ".loc 1 8 0|# line 8" } } */
-+
-+
-+int f (register int a, register int b) {
-+  register int x = b, y = a;
-+  return x + y; }
-+

diff --git a/gcc48-pr56151.patch b/gcc48-pr56151.patch
new file mode 100644
index 0000000..f3c2dc2
--- /dev/null
+++ b/gcc48-pr56151.patch
@@ -0,0 +1,73 @@
+2013-02-11  Jakub Jelinek  <jakub@redhat.com>
+	    Steven Bosscher   <steven@gcc.gnu.org>
+
+	PR rtl-optimization/56151
+	* optabs.c (add_equal_note): Don't return 0 if target is a MEM,
+	equal to op0 or op1, and last_insn pattern is CODE operation
+	with MEM dest and one of the operands matches that MEM.
+
+	* gcc.target/i386/pr56151.c: New test.
+
+--- gcc/optabs.c.jj	2013-01-16 08:30:10.000000000 +0100
++++ gcc/optabs.c	2013-02-11 15:28:16.543839881 +0100
+@@ -190,17 +190,34 @@ add_equal_note (rtx insns, rtx target, e
+   if (GET_CODE (target) == ZERO_EXTRACT)
+     return 1;
+ 
+-  /* If TARGET is in OP0 or OP1, punt.  We'd end up with a note referencing
+-     a value changing in the insn, so the note would be invalid for CSE.  */
+-  if (reg_overlap_mentioned_p (target, op0)
+-      || (op1 && reg_overlap_mentioned_p (target, op1)))
+-    return 0;
+-
+   for (last_insn = insns;
+        NEXT_INSN (last_insn) != NULL_RTX;
+        last_insn = NEXT_INSN (last_insn))
+     ;
+ 
++  /* If TARGET is in OP0 or OP1, punt.  We'd end up with a note referencing
++     a value changing in the insn, so the note would be invalid for CSE.  */
++  if (reg_overlap_mentioned_p (target, op0)
++      || (op1 && reg_overlap_mentioned_p (target, op1)))
++    {
++      if (MEM_P (target)
++	  && (rtx_equal_p (target, op0)
++	      || (op1 && rtx_equal_p (target, op1))))
++	{
++	  /* For MEM target, with MEM = MEM op X, prefer no REG_EQUAL note
++	     over expanding it as temp = MEM op X, MEM = temp.  See PR56151. */
++	  set = single_set (last_insn);
++	  if (set
++	      && GET_CODE (SET_SRC (set)) == code
++	      && MEM_P (SET_DEST (set))
++	      && (rtx_equal_p (SET_DEST (set), XEXP (SET_SRC (set), 0))
++		  || (op1 && rtx_equal_p (SET_DEST (set),
++					  XEXP (SET_SRC (set), 1)))))
++	    return 1;
++	}
++      return 0;
++    }
++
+   set = single_set (last_insn);
+   if (set == NULL_RTX)
+     return 1;
+--- gcc/testsuite/gcc.target/i386/pr56151.c.jj	2013-02-11 16:20:51.459752951 +0100
++++ gcc/testsuite/gcc.target/i386/pr56151.c	2013-02-11 16:23:10.590964710 +0100
+@@ -0,0 +1,17 @@
++/* PR rtl-optimization/56151 */
++/* { dg-do compile } */
++/* { dg-options "-O2" } */
++
++int vara, varb;
++
++void
++foo (int i, int j)
++{
++  vara = varb | vara;
++}
++
++/* Verify the above is compiled into movl varb, %reg; orl %reg, vara instead
++   of longer movl vara, %reg; orl varb, %reg; movl %reg, vara.  */
++/* { dg-final { scan-assembler-not "mov\[^\n\r]*vara" { target nonpic } } } */
++/* { dg-final { scan-assembler-times "mov\[^\n\r]*varb" 1 { target nonpic } } } */
++/* { dg-final { scan-assembler-times "or\[^\n\r]*vara" 1 { target nonpic } } } */

diff --git a/gcc48-pr56245.patch b/gcc48-pr56245.patch
deleted file mode 100644
index 563605f..0000000
--- a/gcc48-pr56245.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-2013-02-08  Jakub Jelinek  <jakub@redhat.com>
-
-	PR other/56245
-	* regex.c (PTR_INT_TYPE): Define.
-	(EXTEND_BUFFER): Change incr type from int to PTR_INT_TYPE.
-
---- libiberty/regex.c.jj	2011-05-02 18:39:35.000000000 +0200
-+++ libiberty/regex.c	2013-02-08 18:33:18.136802070 +0100
-@@ -46,9 +46,11 @@
- 
- # if defined STDC_HEADERS && !defined emacs
- #  include <stddef.h>
-+#  define PTR_INT_TYPE ptrdiff_t
- # else
- /* We need this for `regex.h', and perhaps for the Emacs include files.  */
- #  include <sys/types.h>
-+#  define PTR_INT_TYPE long
- # endif
- 
- # define WIDE_CHAR_SUPPORT (HAVE_WCTYPE_H && HAVE_WCHAR_H && HAVE_BTOWC)
-@@ -2045,7 +2047,7 @@ static reg_errcode_t byte_compile_range
-     /* How many characters the new buffer can have?  */			\
-     wchar_count = bufp->allocated / sizeof(UCHAR_T);			\
-     if (wchar_count == 0) wchar_count = 1;				\
--    /* Truncate the buffer to CHAR_T align.  */			\
-+    /* Truncate the buffer to CHAR_T align.  */				\
-     bufp->allocated = wchar_count * sizeof(UCHAR_T);			\
-     RETALLOC (COMPILED_BUFFER_VAR, wchar_count, UCHAR_T);		\
-     bufp->buffer = (char*)COMPILED_BUFFER_VAR;				\
-@@ -2054,7 +2056,7 @@ static reg_errcode_t byte_compile_range
-     /* If the buffer moved, move all the pointers into it.  */		\
-     if (old_buffer != COMPILED_BUFFER_VAR)				\
-       {									\
--	int incr = COMPILED_BUFFER_VAR - old_buffer;			\
-+	PTR_INT_TYPE incr = COMPILED_BUFFER_VAR - old_buffer;		\
- 	MOVE_BUFFER_POINTER (b);					\
- 	MOVE_BUFFER_POINTER (begalt);					\
- 	if (fixup_alt_jump)						\
-@@ -2082,7 +2084,7 @@ static reg_errcode_t byte_compile_range
-     /* If the buffer moved, move all the pointers into it.  */		\
-     if (old_buffer != COMPILED_BUFFER_VAR)				\
-       {									\
--	int incr = COMPILED_BUFFER_VAR - old_buffer;			\
-+	PTR_INT_TYPE incr = COMPILED_BUFFER_VAR - old_buffer;		\
- 	MOVE_BUFFER_POINTER (b);					\
- 	MOVE_BUFFER_POINTER (begalt);					\
- 	if (fixup_alt_jump)						\

diff --git a/gcc48-pr56256.patch b/gcc48-pr56256.patch
deleted file mode 100644
index 622c5cb..0000000
--- a/gcc48-pr56256.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-2013-02-08  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/56256
-	* config/rs6000/rs6000.h (ASSEMBLER_DIALECT): Define.
-
-	* gcc.target/powerpc/pr56256.c: New test.
-
---- gcc/config/rs6000/rs6000.h.jj	2013-01-11 09:03:12.000000000 +0100
-+++ gcc/config/rs6000/rs6000.h	2013-02-08 16:46:35.988977363 +0100
-@@ -356,6 +356,12 @@ extern const char *host_detect_local_cpu
- #define PROCESSOR_DEFAULT   PROCESSOR_PPC603
- #define PROCESSOR_DEFAULT64 PROCESSOR_RS64A
- 
-+/* Specify the dialect of assembler to use.  Only new mnemonics are supported
-+   starting with GCC 4.8, i.e. just one dialect, but for backwards
-+   compatibility with older inline asm ASSEMBLER_DIALECT needs to be
-+   defined.  */
-+#define ASSEMBLER_DIALECT 1
-+
- /* Debug support */
- #define MASK_DEBUG_STACK	0x01	/* debug stack applications */
- #define	MASK_DEBUG_ARG		0x02	/* debug argument handling */
---- gcc/testsuite/gcc.target/powerpc/pr56256.c.jj	2013-02-08 17:00:11.096171281 +0100
-+++ gcc/testsuite/gcc.target/powerpc/pr56256.c	2013-02-08 17:09:05.448004295 +0100
-@@ -0,0 +1,11 @@
-+/* PR target/56256 */
-+/* { dg-do assemble } */
-+/* { dg-options "-O2" } */
-+
-+int
-+foo (void)
-+{
-+  int a;
-+  __asm__ ("{lil|li} %0,%1" : "=r" (a) : "I" (26));
-+  return a;
-+}

diff --git a/sources b/sources
index 53d82cb..ff69942 100644
--- a/sources
+++ b/sources
@@ -1,4 +1,4 @@
 be78a47bd82523250eb3e91646db5b3d  cloog-0.18.0.tar.gz
 2659f09c2e43ef8b7d4406321753f1b2  fastjar-0.97.tar.gz
 bce1586384d8635a76d2f017fb067cd2  isl-0.11.1.tar.bz2
-94f2b1c221e6f1561a93525c6679080c  gcc-4.8.0-20130208.tar.bz2
+ab39481e50bd55b5efdf8bbcdfda63e3  gcc-4.8.0-20130211.tar.bz2

                 reply	other threads:[~2026-06-29 12:25 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=178273594433.1.17826669534066315824.rpms-gcc-b4711962194a@fedoraproject.org \
    --to=jakub@redhat.com \
    --cc=git-commits@fedoraproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox