* [gentoo-commits] repo/gentoo:master commit in: sys-devel/gcc/files/
@ 2017-10-02 22:23 Andreas Hüttel
0 siblings, 0 replies; 18+ messages in thread
From: Andreas Hüttel @ 2017-10-02 22:23 UTC (permalink / raw
To: gentoo-commits
commit: 3ee9d48fff5698bc024a307f01383546025d8f6b
Author: Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 2 22:22:55 2017 +0000
Commit: Andreas Hüttel <dilfridge <AT> gentoo <DOT> org>
CommitDate: Mon Oct 2 22:23:10 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3ee9d48f
sys-devel/gcc: fix_libtool_files.sh: do not require to be root on prefix, bug 607900
Closes: https://bugs.gentoo.org/607900
Package-Manager: Portage-2.3.10, Repoman-2.3.3
sys-devel/gcc/files/fix_libtool_files.sh | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/sys-devel/gcc/files/fix_libtool_files.sh b/sys-devel/gcc/files/fix_libtool_files.sh
index 2b818ce66d0..ad137a9866f 100644
--- a/sys-devel/gcc/files/fix_libtool_files.sh
+++ b/sys-devel/gcc/files/fix_libtool_files.sh
@@ -1,5 +1,5 @@
#!/bin/sh
-# Copyright 1999-2014 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
usage() {
@@ -39,6 +39,7 @@ ARGV3=$3
. /etc/profile || exit 1
if [ ${EUID:-0} -ne 0 ] ; then
+if [ ${EUID:-0} -ne 0 -a "${EPREFIX}" == '' ] ; then
echo "${0##*/}: Must be root."
exit 1
fi
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/gcc/files/
@ 2017-10-06 18:43 Andreas Hüttel
0 siblings, 0 replies; 18+ messages in thread
From: Andreas Hüttel @ 2017-10-06 18:43 UTC (permalink / raw
To: gentoo-commits
commit: 61df408999307624e2c276dac50bfa5c6b018970
Author: Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
AuthorDate: Fri Oct 6 18:40:23 2017 +0000
Commit: Andreas Hüttel <dilfridge <AT> gentoo <DOT> org>
CommitDate: Fri Oct 6 18:43:06 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=61df4089
sys-devel/gcc: Fix broken fix-libtool-files.sh again, doh
Package-Manager: Portage-2.3.11, Repoman-2.3.3
sys-devel/gcc/files/fix_libtool_files.sh | 1 -
1 file changed, 1 deletion(-)
diff --git a/sys-devel/gcc/files/fix_libtool_files.sh b/sys-devel/gcc/files/fix_libtool_files.sh
index ad137a9866f..53c46de0fdc 100644
--- a/sys-devel/gcc/files/fix_libtool_files.sh
+++ b/sys-devel/gcc/files/fix_libtool_files.sh
@@ -38,7 +38,6 @@ ARGV3=$3
. /etc/profile || exit 1
-if [ ${EUID:-0} -ne 0 ] ; then
if [ ${EUID:-0} -ne 0 -a "${EPREFIX}" == '' ] ; then
echo "${0##*/}: Must be root."
exit 1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/gcc/files/
@ 2017-12-04 23:27 Sergei Trofimovich
0 siblings, 0 replies; 18+ messages in thread
From: Sergei Trofimovich @ 2017-12-04 23:27 UTC (permalink / raw
To: gentoo-commits
commit: dec6b1b3be2b497a5c9e6f068f259c02275781c0
Author: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Mon Dec 4 23:27:09 2017 +0000
Commit: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Mon Dec 4 23:27:21 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dec6b1b3
sys-devel/gcc: fix bash-specific == comparison, bug #639054
Reported-by: Paolo Pedroni
Closes: https://bugs.gentoo.org/639054
Package-Manager: Portage-2.3.16, Repoman-2.3.6
sys-devel/gcc/files/fix_libtool_files.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/gcc/files/fix_libtool_files.sh b/sys-devel/gcc/files/fix_libtool_files.sh
index 53c46de0fdc..af085e1efa0 100644
--- a/sys-devel/gcc/files/fix_libtool_files.sh
+++ b/sys-devel/gcc/files/fix_libtool_files.sh
@@ -38,7 +38,7 @@ ARGV3=$3
. /etc/profile || exit 1
-if [ ${EUID:-0} -ne 0 -a "${EPREFIX}" == '' ] ; then
+if [ ${EUID:-0} -ne 0 -a "${EPREFIX}" = '' ] ; then
echo "${0##*/}: Must be root."
exit 1
fi
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/gcc/files/
@ 2019-05-09 22:39 Sergei Trofimovich
0 siblings, 0 replies; 18+ messages in thread
From: Sergei Trofimovich @ 2019-05-09 22:39 UTC (permalink / raw
To: gentoo-commits
commit: 08d9828590d3f513ee0e937d4b76313d488a0880
Author: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Thu May 9 22:39:39 2019 +0000
Commit: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Thu May 9 22:39:39 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=08d98285
sys-devel/gcc: add a reference to upstream report
Package-Manager: Portage-2.3.66, Repoman-2.3.12
Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>
sys-devel/gcc/files/gcc-8.3.0-norisc32.patch | 2 ++
1 file changed, 2 insertions(+)
diff --git a/sys-devel/gcc/files/gcc-8.3.0-norisc32.patch b/sys-devel/gcc/files/gcc-8.3.0-norisc32.patch
index 9315dc44893..19f4f56871f 100644
--- a/sys-devel/gcc/files/gcc-8.3.0-norisc32.patch
+++ b/sys-devel/gcc/files/gcc-8.3.0-norisc32.patch
@@ -1,3 +1,5 @@
+https://gcc.gnu.org/PR90419
+
diff -ruN gcc-8.3.0.orig/gcc/config/riscv/t-linux-multilib gcc-8.3.0/gcc/config/riscv/t-linux-multilib
--- gcc-8.3.0.orig/gcc/config/riscv/t-linux-multilib 2017-02-06 22:38:37.000000000 +0100
+++ gcc-8.3.0/gcc/config/riscv/t-linux-multilib 2019-04-28 16:37:44.377841943 +0200
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/gcc/files/
@ 2020-05-21 8:22 Sergei Trofimovich
0 siblings, 0 replies; 18+ messages in thread
From: Sergei Trofimovich @ 2020-05-21 8:22 UTC (permalink / raw
To: gentoo-commits
commit: 37d4bc14d8eadfeb6a31df1409c793e5fdc8cefc
Author: Michael Mair-Keimberger <m.mairkeimberger <AT> gmail <DOT> com>
AuthorDate: Wed May 20 15:43:03 2020 +0000
Commit: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Thu May 21 08:22:46 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=37d4bc14
sys-devel/gcc: remove unused patches
Package-Manager: Portage-2.3.99, Repoman-2.3.22
Signed-off-by: Michael Mair-Keimberger <m.mairkeimberger <AT> gmail.com>
Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>
sys-devel/gcc/files/gcc-8.3.0-ia64-bootstrap.patch | 41 -----------------
sys-devel/gcc/files/gcc-8.3.0-norisc32.patch | 29 ------------
sys-devel/gcc/files/gcc-9.1.0-norisc32.patch | 53 ----------------------
3 files changed, 123 deletions(-)
diff --git a/sys-devel/gcc/files/gcc-8.3.0-ia64-bootstrap.patch b/sys-devel/gcc/files/gcc-8.3.0-ia64-bootstrap.patch
deleted file mode 100644
index 0a0a25b5655..00000000000
--- a/sys-devel/gcc/files/gcc-8.3.0-ia64-bootstrap.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-https://gcc.gnu.org/PR87338
-
-From 1cc1dc32fcf6b47db4e6d28f55de343713f824a4 Mon Sep 17 00:00:00 2001
-From: James Clarke <jrtc27@jrtc27.com>
-Date: Thu, 25 Apr 2019 15:58:55 +0200
-Subject: [PATCH] PR bootstrap/87338: Fix ia64 bootstrap comparison regression
- in r257511
-To: gcc-patches@gcc.gnu.org
-
-By using ASM_OUTPUT_LABEL, r257511 forced the assembler to start a new
-bundle when emitting an inline entry label on. Instead, use
-ASM_OUTPUT_DEBUG_LABEL like for the block begin and end labels so tags are
-emitted rather than labels.
-
-gcc/
- PR bootstrap/87338
- * dwarf2out.c (dwarf2out_inline_entry): Use ASM_OUTPUT_DEBUG_LABEL
- instead of ASM_GENERATE_INTERNAL_LABEL and ASM_OUTPUT_LABEL.
----
- gcc/dwarf2out.c | 7 ++-----
- 1 file changed, 2 insertions(+), 5 deletions(-)
-
---- a/gcc/dwarf2out.c
-+++ b/gcc/dwarf2out.c
-@@ -27670,11 +27670,8 @@ dwarf2out_inline_entry (tree block)
- if (cur_line_info_table)
- ied->view = cur_line_info_table->view;
-
-- char label[MAX_ARTIFICIAL_LABEL_BYTES];
--
-- ASM_GENERATE_INTERNAL_LABEL (label, BLOCK_INLINE_ENTRY_LABEL,
-- BLOCK_NUMBER (block));
-- ASM_OUTPUT_LABEL (asm_out_file, label);
-+ ASM_OUTPUT_DEBUG_LABEL (asm_out_file, BLOCK_INLINE_ENTRY_LABEL,
-+ BLOCK_NUMBER (block));
- }
-
- /* Called from finalize_size_functions for size functions so that their body
---
-1.8.5.3
-
diff --git a/sys-devel/gcc/files/gcc-8.3.0-norisc32.patch b/sys-devel/gcc/files/gcc-8.3.0-norisc32.patch
deleted file mode 100644
index 19f4f56871f..00000000000
--- a/sys-devel/gcc/files/gcc-8.3.0-norisc32.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-https://gcc.gnu.org/PR90419
-
-diff -ruN gcc-8.3.0.orig/gcc/config/riscv/t-linux-multilib gcc-8.3.0/gcc/config/riscv/t-linux-multilib
---- gcc-8.3.0.orig/gcc/config/riscv/t-linux-multilib 2017-02-06 22:38:37.000000000 +0100
-+++ gcc-8.3.0/gcc/config/riscv/t-linux-multilib 2019-04-28 16:37:44.377841943 +0200
-@@ -20,21 +20,9 @@
- ilp32d \
- lp64 \
- lp64d
--MULTILIB_REQUIRED = march=rv32imac/mabi=ilp32 \
--march=rv32imafdc/mabi=ilp32d \
--march=rv64imac/mabi=lp64 \
-+MULTILIB_REQUIRED = march=rv64imac/mabi=lp64 \
- march=rv64imafdc/mabi=lp64d
--MULTILIB_REUSE = march.rv32imac/mabi.ilp32=march.rv32ima/mabi.ilp32 \
--march.rv32imac/mabi.ilp32=march.rv32imaf/mabi.ilp32 \
--march.rv32imac/mabi.ilp32=march.rv32imafd/mabi.ilp32 \
--march.rv32imac/mabi.ilp32=march.rv32imafc/mabi.ilp32 \
--march.rv32imac/mabi.ilp32=march.rv32imafdc/mabi.ilp32 \
--march.rv32imac/mabi.ilp32=march.rv32g/mabi.ilp32 \
--march.rv32imac/mabi.ilp32=march.rv32gc/mabi.ilp32 \
--march.rv32imafdc/mabi.ilp32d=march.rv32imafd/mabi.ilp32d \
--march.rv32imafdc/mabi.ilp32d=march.rv32gc/mabi.ilp32d \
--march.rv32imafdc/mabi.ilp32d=march.rv32g/mabi.ilp32d \
--march.rv64imac/mabi.lp64=march.rv64ima/mabi.lp64 \
-+MULTILIB_REUSE = march.rv64imac/mabi.lp64=march.rv64ima/mabi.lp64 \
- march.rv64imac/mabi.lp64=march.rv64imaf/mabi.lp64 \
- march.rv64imac/mabi.lp64=march.rv64imafd/mabi.lp64 \
- march.rv64imac/mabi.lp64=march.rv64imafc/mabi.lp64 \
diff --git a/sys-devel/gcc/files/gcc-9.1.0-norisc32.patch b/sys-devel/gcc/files/gcc-9.1.0-norisc32.patch
deleted file mode 100644
index ad0128a0a18..00000000000
--- a/sys-devel/gcc/files/gcc-9.1.0-norisc32.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-Autogenerated patch disabling the 32bit RISCV support
-See https://gcc.gnu.org/PR90419
-
-diff -ruN gcc-9.1.0.orig/gcc/config/riscv/t-linux-multilib gcc-9.1.0/gcc/config/riscv/t-linux-multilib
---- gcc-9.1.0.orig/gcc/config/riscv/t-linux-multilib 2017-02-06 22:38:37.000000000 +0100
-+++ gcc-9.1.0/gcc/config/riscv/t-linux-multilib 2019-05-18 23:04:54.849400774 +0200
-@@ -1,40 +1,18 @@
- # This file was generated by multilib-generator with the command:
--# ./multilib-generator rv32imac-ilp32-rv32ima,rv32imaf,rv32imafd,rv32imafc,rv32imafdc- rv32imafdc-ilp32d-rv32imafd- rv64imac-lp64-rv64ima,rv64imaf,rv64imafd,rv64imafc,rv64imafdc- rv64imafdc-lp64d-rv64imafd-
--MULTILIB_OPTIONS = march=rv32imac/march=rv32ima/march=rv32imaf/march=rv32imafd/march=rv32imafc/march=rv32imafdc/march=rv32g/march=rv32gc/march=rv64imac/march=rv64ima/march=rv64imaf/march=rv64imafd/march=rv64imafc/march=rv64imafdc/march=rv64g/march=rv64gc mabi=ilp32/mabi=ilp32d/mabi=lp64/mabi=lp64d
--MULTILIB_DIRNAMES = rv32imac \
--rv32ima \
--rv32imaf \
--rv32imafd \
--rv32imafc \
--rv32imafdc \
--rv32g \
--rv32gc \
--rv64imac \
-+# ./multilib-generator rv64imac-lp64-rv64ima,rv64imaf,rv64imafd,rv64imafc,rv64imafdc- rv64imafdc-lp64d-rv64imafd-
-+MULTILIB_OPTIONS = march=rv64imac/march=rv64ima/march=rv64imaf/march=rv64imafd/march=rv64imafc/march=rv64imafdc/march=rv64g/march=rv64gc mabi=lp64/mabi=lp64d
-+MULTILIB_DIRNAMES = rv64imac \
- rv64ima \
- rv64imaf \
- rv64imafd \
- rv64imafc \
- rv64imafdc \
- rv64g \
--rv64gc ilp32 \
--ilp32d \
--lp64 \
-+rv64gc lp64 \
- lp64d
--MULTILIB_REQUIRED = march=rv32imac/mabi=ilp32 \
--march=rv32imafdc/mabi=ilp32d \
--march=rv64imac/mabi=lp64 \
-+MULTILIB_REQUIRED = march=rv64imac/mabi=lp64 \
- march=rv64imafdc/mabi=lp64d
--MULTILIB_REUSE = march.rv32imac/mabi.ilp32=march.rv32ima/mabi.ilp32 \
--march.rv32imac/mabi.ilp32=march.rv32imaf/mabi.ilp32 \
--march.rv32imac/mabi.ilp32=march.rv32imafd/mabi.ilp32 \
--march.rv32imac/mabi.ilp32=march.rv32imafc/mabi.ilp32 \
--march.rv32imac/mabi.ilp32=march.rv32imafdc/mabi.ilp32 \
--march.rv32imac/mabi.ilp32=march.rv32g/mabi.ilp32 \
--march.rv32imac/mabi.ilp32=march.rv32gc/mabi.ilp32 \
--march.rv32imafdc/mabi.ilp32d=march.rv32imafd/mabi.ilp32d \
--march.rv32imafdc/mabi.ilp32d=march.rv32gc/mabi.ilp32d \
--march.rv32imafdc/mabi.ilp32d=march.rv32g/mabi.ilp32d \
--march.rv64imac/mabi.lp64=march.rv64ima/mabi.lp64 \
-+MULTILIB_REUSE = march.rv64imac/mabi.lp64=march.rv64ima/mabi.lp64 \
- march.rv64imac/mabi.lp64=march.rv64imaf/mabi.lp64 \
- march.rv64imac/mabi.lp64=march.rv64imafd/mabi.lp64 \
- march.rv64imac/mabi.lp64=march.rv64imafc/mabi.lp64 \
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/gcc/files/
@ 2022-08-30 22:57 Conrad Kostecki
0 siblings, 0 replies; 18+ messages in thread
From: Conrad Kostecki @ 2022-08-30 22:57 UTC (permalink / raw
To: gentoo-commits
commit: f20e21dedafc3bc9f9f436231562643392f1124f
Author: Michael Mair-Keimberger <mmk <AT> levelnine <DOT> at>
AuthorDate: Tue Aug 23 17:25:03 2022 +0000
Commit: Conrad Kostecki <conikost <AT> gentoo <DOT> org>
CommitDate: Tue Aug 30 22:57:33 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f20e21de
sys-devel/gcc: remove unused patch
Signed-off-by: Michael Mair-Keimberger <mmk <AT> levelnine.at>
Portage 3.0.34 / pkgdev 0.2.1 / pkgcheck 0.10.14
Closes: https://github.com/gentoo/gentoo/pull/26987
Signed-off-by: Conrad Kostecki <conikost <AT> gentoo.org>
.../files/gcc-11.2.0-cross-compile-include.patch | 26 ----------------------
1 file changed, 26 deletions(-)
diff --git a/sys-devel/gcc/files/gcc-11.2.0-cross-compile-include.patch b/sys-devel/gcc/files/gcc-11.2.0-cross-compile-include.patch
deleted file mode 100644
index d06410650bb0..000000000000
--- a/sys-devel/gcc/files/gcc-11.2.0-cross-compile-include.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-https://bugs.gentoo.org/803371
-https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80196
-https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100017
---- a/configure
-+++ b/configure
-@@ -17044,7 +17044,7 @@ else
- fi
-
-
--RAW_CXX_FOR_TARGET="$CXX_FOR_TARGET"
-+RAW_CXX_FOR_TARGET="$CXX_FOR_TARGET -nostdinc++"
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking where to find the target ar" >&5
- $as_echo_n "checking where to find the target ar... " >&6; }
---- a/configure.ac
-+++ b/configure.ac
-@@ -3529,7 +3529,7 @@ ACX_CHECK_INSTALLED_TARGET_TOOL(STRIP_FOR_TARGET, strip)
- ACX_CHECK_INSTALLED_TARGET_TOOL(WINDRES_FOR_TARGET, windres)
- ACX_CHECK_INSTALLED_TARGET_TOOL(WINDMC_FOR_TARGET, windmc)
-
--RAW_CXX_FOR_TARGET="$CXX_FOR_TARGET"
-+RAW_CXX_FOR_TARGET="$CXX_FOR_TARGET -nostdinc++"
-
- GCC_TARGET_TOOL(ar, AR_FOR_TARGET, AR, [binutils/ar])
- GCC_TARGET_TOOL(as, AS_FOR_TARGET, AS, [gas/as-new])
-
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/gcc/files/
@ 2023-04-14 1:06 Sam James
0 siblings, 0 replies; 18+ messages in thread
From: Sam James @ 2023-04-14 1:06 UTC (permalink / raw
To: gentoo-commits
commit: b48789c0fbdc87c1fc7534717d15fe9fb622f283
Author: Michael Mair-Keimberger <mmk <AT> levelnine <DOT> at>
AuthorDate: Wed Apr 12 18:43:47 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Apr 14 01:05:05 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b48789c0
sys-devel/gcc: remove unused patches
Signed-off-by: Michael Mair-Keimberger <mmk <AT> levelnine.at>
Closes: https://github.com/gentoo/gentoo/pull/30573
Signed-off-by: Sam James <sam <AT> gentoo.org>
...R109265_PR109274_PR109325_range_def_chain.patch | 219 ---------------------
...3.0.1_pre20230402-PR109304-ICE-python3.12.patch | 72 -------
2 files changed, 291 deletions(-)
diff --git a/sys-devel/gcc/files/gcc-13.0.1_pre20230326-76_all_all_PR109265_PR109274_PR109325_range_def_chain.patch b/sys-devel/gcc/files/gcc-13.0.1_pre20230326-76_all_all_PR109265_PR109274_PR109325_range_def_chain.patch
deleted file mode 100644
index bd66ce422cff..000000000000
--- a/sys-devel/gcc/files/gcc-13.0.1_pre20230326-76_all_all_PR109265_PR109274_PR109325_range_def_chain.patch
+++ /dev/null
@@ -1,219 +0,0 @@
-https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109265
-https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109274
-https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109325
-https://bugs.gentoo.org/903505
-https://gcc.gnu.org/git/gitweb.cgi?p=gcc.git;h=dd63bba0c8dc3a6ae06cfdc084bca7c68b8bbd39
-
-From dd63bba0c8dc3a6ae06cfdc084bca7c68b8bbd39 Mon Sep 17 00:00:00 2001
-From: Andrew MacLeod <amacleod@redhat.com>
-Date: Fri, 24 Mar 2023 11:21:20 -0400
-Subject: [PATCH] Fix compute_operand when op1 == op2 symbolically.
-
-First, class value_relation should not sanitize records. just create
-what is asked.
-
-Second., if there is not a relation record, compute_operand was
-creating one for op1 == op2 if op1 and op2 were the same symbol. This
-is not the correct way to communicate the information, as that record
-will continue to be passed along the GORI unwind chain.
-
-Instead, simply pass that information locally to the opX_range routine
-for only the current statement.
-
- PR tree-optimization/109265
- PR tree-optimization/109274
- gcc/
- * gimple-range-gori.cc (gori_compute::compute_operand_range): Do
- not create a relation record is op1 and op2 are the same symbol.
- (gori_compute::compute_operand1_range): Pass op1 == op2 to the
- handler for this stmt, but create a new record only if this statement
- generates a relation based on the ranges.
- (gori_compute::compute_operand2_range): Ditto.
- * value-relation.h (value_relation::set_relation): Always create the
- record that is requested.
-
- gcc/testsuite/
- * gcc.dg/pr109274.c: New.
- * gfortran.dg/pr109265.f90: New.
---- a/gcc/gimple-range-gori.cc
-+++ b/gcc/gimple-range-gori.cc
-@@ -623,21 +623,6 @@ gori_compute::compute_operand_range (vrange &r, gimple *stmt,
- tree op1 = gimple_range_ssa_p (handler.operand1 ());
- tree op2 = gimple_range_ssa_p (handler.operand2 ());
-
-- // If there is a relation, use it instead of any passed in. This will allow
-- // multiple relations to be processed in compound logicals.
-- if (op1 && op2)
-- {
-- relation_kind k = handler.op1_op2_relation (lhs);
-- // If there is no relation, and op1 == op2, create a relation.
-- if (!vrel_ptr && k == VREL_VARYING && op1 == op2)
-- k = VREL_EQ;
-- if (k != VREL_VARYING)
-- {
-- vrel.set_relation (k, op1, op2);
-- vrel_ptr = &vrel;
-- }
-- }
--
- // Handle end of lookup first.
- if (op1 == name)
- return compute_operand1_range (r, handler, lhs, name, src, vrel_ptr);
-@@ -1093,6 +1078,7 @@ gori_compute::compute_operand1_range (vrange &r,
- const vrange &lhs, tree name,
- fur_source &src, value_relation *rel)
- {
-+ value_relation local_rel;
- gimple *stmt = handler.stmt ();
- tree op1 = handler.operand1 ();
- tree op2 = handler.operand2 ();
-@@ -1101,6 +1087,7 @@ gori_compute::compute_operand1_range (vrange &r,
- relation_trio trio;
- if (rel)
- trio = rel->create_trio (lhs_name, op1, op2);
-+ relation_kind op_op = trio.op1_op2 ();
-
- Value_Range op1_range (TREE_TYPE (op1));
- Value_Range tmp (TREE_TYPE (op1));
-@@ -1113,10 +1100,26 @@ gori_compute::compute_operand1_range (vrange &r,
- if (op2)
- {
- src.get_operand (op2_range, op2);
-- relation_kind op_op = trio.op1_op2 ();
-+
-+ // If there is a relation betwen op1 and op2, use it instead.
-+ // This allows multiple relations to be processed in compound logicals.
-+ if (gimple_range_ssa_p (op1) && gimple_range_ssa_p (op2))
-+ {
-+ relation_kind k = handler.op1_op2_relation (lhs);
-+ if (k != VREL_VARYING)
-+ {
-+ op_op = k;
-+ local_rel.set_relation (op_op, op1, op2);
-+ rel = &local_rel;
-+ }
-+ }
-+
- if (op_op != VREL_VARYING)
- refine_using_relation (op1, op1_range, op2, op2_range, src, op_op);
-
-+ // If op1 == op2, create a new trio for just this call.
-+ if (op1 == op2 && gimple_range_ssa_p (op1))
-+ trio = relation_trio (trio.lhs_op1 (), trio.lhs_op2 (), VREL_EQ);
- if (!handler.calc_op1 (tmp, lhs, op2_range, trio))
- return false;
- }
-@@ -1185,6 +1188,7 @@ gori_compute::compute_operand2_range (vrange &r,
- const vrange &lhs, tree name,
- fur_source &src, value_relation *rel)
- {
-+ value_relation local_rel;
- gimple *stmt = handler.stmt ();
- tree op1 = handler.operand1 ();
- tree op2 = handler.operand2 ();
-@@ -1201,9 +1205,26 @@ gori_compute::compute_operand2_range (vrange &r,
- if (rel)
- trio = rel->create_trio (lhs_name, op1, op2);
- relation_kind op_op = trio.op1_op2 ();
-+
-+ // If there is a relation betwen op1 and op2, use it instead.
-+ // This allows multiple relations to be processed in compound logicals.
-+ if (gimple_range_ssa_p (op1) && gimple_range_ssa_p (op2))
-+ {
-+ relation_kind k = handler.op1_op2_relation (lhs);
-+ if (k != VREL_VARYING)
-+ {
-+ op_op = k;
-+ local_rel.set_relation (op_op, op1, op2);
-+ rel = &local_rel;
-+ }
-+ }
-+
- if (op_op != VREL_VARYING)
- refine_using_relation (op1, op1_range, op2, op2_range, src, op_op);
-
-+ // If op1 == op2, create a new trio for this stmt.
-+ if (op1 == op2 && gimple_range_ssa_p (op1))
-+ trio = relation_trio (trio.lhs_op1 (), trio.lhs_op2 (), VREL_EQ);
- // Intersect with range for op2 based on lhs and op1.
- if (!handler.calc_op2 (tmp, lhs, op1_range, trio))
- return false;
---- /dev/null
-+++ b/gcc/testsuite/gcc.dg/pr109274.c
-@@ -0,0 +1,16 @@
-+/* PR tree-optimization/109274 */
-+/* { dg-do compile } */
-+/* { dg-options "-O2 " } */
-+
-+float a, b, c;
-+int d;
-+float bar (void);
-+
-+void
-+foo (void)
-+{
-+ a = 0 * -(2.0f * c);
-+ d = a != a ? 0 : bar ();
-+ b = c;
-+}
-+
---- /dev/null
-+++ b/gcc/testsuite/gfortran.dg/pr109265.f90
-@@ -0,0 +1,39 @@
-+! PR tree-optimization/109265
-+! { dg-do compile }
-+! { dg-options "-O3 -w" }
-+
-+module pr109265
-+ integer, parameter :: r8 = selected_real_kind (12)
-+contains
-+ subroutine foo (b, c, d, e, f)
-+ implicit none
-+ logical :: b
-+ real (kind = r8) :: c, d, e, f, i
-+ if (b) then
-+ c = bar (c * d, e)
-+ i = bar (f, c)
-+ call baz (i)
-+ call baz (-i)
-+ end if
-+ end subroutine foo
-+ function bar (a, b)
-+ implicit none
-+ real (kind = r8) :: bar
-+ real (kind = r8) :: a, b
-+ bar = a + b
-+ end function bar
-+ subroutine baz (b)
-+ implicit none
-+ real (kind = r8) :: b, d, e, f, g, h, i
-+ d = b
-+ i = 0
-+ e = d
-+ f = d
-+ g = d
-+ 10 continue
-+ if ((e.eq.d) .and. (f.eq.d) .and. (g.eq.d) .and. (h.eq.d)) then
-+ h = i
-+ goto 10
-+ end if
-+ end subroutine baz
-+end module pr109265
---- a/gcc/value-relation.h
-+++ b/gcc/value-relation.h
-@@ -445,13 +445,6 @@ value_relation::set_relation (relation_kind r, tree n1, tree n2)
- {
- gcc_checking_assert (TREE_CODE (n1) == SSA_NAME
- && TREE_CODE (n2) == SSA_NAME);
-- if (n1 == n2 && r != VREL_EQ)
-- {
-- related = VREL_VARYING;
-- name1 = NULL_TREE;
-- name2 = NULL_TREE;
-- return;
-- }
- related = r;
- name1 = n1;
- name2 = n2;
---
-2.31.1
diff --git a/sys-devel/gcc/files/gcc-13.0.1_pre20230402-PR109304-ICE-python3.12.patch b/sys-devel/gcc/files/gcc-13.0.1_pre20230402-PR109304-ICE-python3.12.patch
deleted file mode 100644
index 8b6baea37b70..000000000000
--- a/sys-devel/gcc/files/gcc-13.0.1_pre20230402-PR109304-ICE-python3.12.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-https://bugs.gentoo.org/903245
-https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109304
-https://gcc.gnu.org/git/gitweb.cgi?p=gcc.git;h=d0b961b802dd7d9d555ff4515835a479329326e9
-
-From d0b961b802dd7d9d555ff4515835a479329326e9 Mon Sep 17 00:00:00 2001
-From: Richard Biener <rguenther@suse.de>
-Date: Tue, 28 Mar 2023 08:06:12 +0000
-Subject: [PATCH] tree-optimization/109304 - properly handle instrumented
- aliases
-
-When adjusting calls to reflect instrumentation we failed to handle
-calls to aliases since they appear to have no body. Instead resort
-to symtab node availability. The patch also avoids touching
-internal function calls in a more obvious way (builtins might
-have a body available).
-
-profiledbootstrap & regtest running on x86_64-unknown-linux-gnu.
-
-Honza - does this look OK?
-
- PR tree-optimization/109304
- * tree-profile.cc (tree_profiling): Use symtab node
- availability to decide whether to skip adjusting calls.
- Do not adjust calls to internal functions.
-
- * gcc.dg/pr109304.c: New testcase.
---- /dev/null
-+++ b/gcc/testsuite/gcc.dg/pr109304.c
-@@ -0,0 +1,12 @@
-+/* { dg-do compile } */
-+/* { dg-require-profiling "-fprofile-generate" } */
-+/* { dg-require-effective-target fpic } */
-+/* { dg-options "-O3 -fprofile-generate -fPIC -fno-semantic-interposition" } */
-+
-+int PyUnicode_FindChar_i;
-+int PyUnicode_FindChar()
-+{
-+ while (PyUnicode_FindChar_i)
-+ if (PyUnicode_FindChar())
-+ break;
-+}
---- a/gcc/tree-profile.cc
-+++ b/gcc/tree-profile.cc
-@@ -808,7 +808,7 @@ tree_profiling (void)
- {
- if (!gimple_has_body_p (node->decl)
- || !(!node->clone_of
-- || node->decl != node->clone_of->decl))
-+ || node->decl != node->clone_of->decl))
- continue;
-
- /* Don't profile functions produced for builtin stuff. */
-@@ -842,12 +842,15 @@ tree_profiling (void)
- for (gsi = gsi_start_bb (bb); !gsi_end_p (gsi); gsi_next (&gsi))
- {
- gcall *call = dyn_cast <gcall *> (gsi_stmt (gsi));
-- if (!call)
-+ if (!call || gimple_call_internal_p (call))
- continue;
-
- /* We do not clear pure/const on decls without body. */
- tree fndecl = gimple_call_fndecl (call);
-- if (fndecl && !gimple_has_body_p (fndecl))
-+ cgraph_node *callee;
-+ if (fndecl
-+ && (callee = cgraph_node::get (fndecl))
-+ && callee->get_availability (node) == AVAIL_NOT_AVAILABLE)
- continue;
-
- /* Drop the const attribute from the call type (the pure
---
-2.31.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/gcc/files/
@ 2023-05-11 20:28 Conrad Kostecki
0 siblings, 0 replies; 18+ messages in thread
From: Conrad Kostecki @ 2023-05-11 20:28 UTC (permalink / raw
To: gentoo-commits
commit: 5c293f2a4687d15e5378d252ef67ef1acb95adfd
Author: Michael Mair-Keimberger <mmk <AT> levelnine <DOT> at>
AuthorDate: Thu May 11 15:49:48 2023 +0000
Commit: Conrad Kostecki <conikost <AT> gentoo <DOT> org>
CommitDate: Thu May 11 20:28:04 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5c293f2a
sys-devel/gcc: remove unused patch
Signed-off-by: Michael Mair-Keimberger <mmk <AT> levelnine.at>
Closes: https://github.com/gentoo/gentoo/pull/30997
Signed-off-by: Conrad Kostecki <conikost <AT> gentoo.org>
.../gcc/files/gcc-13-PR109703-unreachable.patch | 54 ----------------------
1 file changed, 54 deletions(-)
diff --git a/sys-devel/gcc/files/gcc-13-PR109703-unreachable.patch b/sys-devel/gcc/files/gcc-13-PR109703-unreachable.patch
deleted file mode 100644
index f7c7c9f60a70..000000000000
--- a/sys-devel/gcc/files/gcc-13-PR109703-unreachable.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109703
-
-From d50f2599d7b23bdba05a9102645d082ed9bcb05f Mon Sep 17 00:00:00 2001
-From: Kefu Chai <kefu.chai@scylladb.com>
-Date: Mon, 1 May 2023 21:24:26 +0100
-Subject: [PATCH] libstdc++: Set _M_string_length before calling _M_dispose()
- [PR109703]
-
-This always sets _M_string_length in the constructor for ranges of input
-iterators, such as stream iterators.
-
-We copy from the source range to the local buffer, and then repeatedly
-reallocate a larger one if necessary. When disposing the old buffer,
-_M_is_local() is used to tell if the buffer is the local one or not (and
-so must be deallocated). In addition to comparing the buffer address
-with the local buffer, _M_is_local() has an optimization hint so that
-the compiler knows that for a string using the local buffer, there is an
-invariant that _M_string_length <= _S_local_capacity (added for PR109299
-via r13-6915-gbf78b43873b0b7). But we failed to set _M_string_length in
-the constructor taking a pair of iterators, so the invariant might not
-hold, and __builtin_unreachable() is reached. This causes UBsan errors,
-and potentially misoptimization.
-
-To ensure the invariant holds, _M_string_length is initialized to zero
-before doing anything else, so that _M_is_local() doesn't see an
-uninitialized value.
-
-This issue only surfaces when constructing a string with a range of
-input iterator, and the uninitialized _M_string_length happens to be
-greater than _S_local_capacity, i.e., 15 for the std::string
-specialization.
-
-libstdc++-v3/ChangeLog:
-
- PR libstdc++/109703
- * include/bits/basic_string.h (basic_string(Iter, Iter, Alloc)):
- Initialize _M_string_length.
-
-Signed-off-by: Kefu Chai <kefu.chai@scylladb.com>
-Co-authored-by: Jonathan Wakely <jwakely@redhat.com>
-(cherry picked from commit cbf6c7a1d16490a1e63e9a5ce00e9a5c44c4c2f2)
---- a/libstdc++-v3/include/bits/basic_string.h
-+++ b/libstdc++-v3/include/bits/basic_string.h
-@@ -760,7 +760,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11
- _GLIBCXX20_CONSTEXPR
- basic_string(_InputIterator __beg, _InputIterator __end,
- const _Alloc& __a = _Alloc())
-- : _M_dataplus(_M_local_data(), __a)
-+ : _M_dataplus(_M_local_data(), __a), _M_string_length(0)
- {
- #if __cplusplus >= 201103L
- _M_construct(__beg, __end, std::__iterator_category(__beg));
---
-2.31.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/gcc/files/
@ 2023-05-31 16:37 Conrad Kostecki
0 siblings, 0 replies; 18+ messages in thread
From: Conrad Kostecki @ 2023-05-31 16:37 UTC (permalink / raw
To: gentoo-commits
commit: 1113a4cf7b91a38a33a6868f869e78222c696a3e
Author: Michael Mair-Keimberger <mmk <AT> levelnine <DOT> at>
AuthorDate: Mon May 29 19:22:47 2023 +0000
Commit: Conrad Kostecki <conikost <AT> gentoo <DOT> org>
CommitDate: Wed May 31 16:37:11 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1113a4cf
sys-devel/gcc: remove unused patch
Signed-off-by: Michael Mair-Keimberger <mmk <AT> levelnine.at>
Closes: https://github.com/gentoo/gentoo/pull/31219
Signed-off-by: Conrad Kostecki <conikost <AT> gentoo.org>
sys-devel/gcc/files/gcc-12.3-ccache-ICE.patch | 67 ---------------------------
1 file changed, 67 deletions(-)
diff --git a/sys-devel/gcc/files/gcc-12.3-ccache-ICE.patch b/sys-devel/gcc/files/gcc-12.3-ccache-ICE.patch
deleted file mode 100644
index 9a170f5db77e..000000000000
--- a/sys-devel/gcc/files/gcc-12.3-ccache-ICE.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-https://bugs.gentoo.org/906310
-https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109850
-https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109241
-
-https://gcc.gnu.org/git/gitweb.cgi?p=gcc.git;h=396a4e76afec30d2461638f569cae18955eb4ad2
-
-From 396a4e76afec30d2461638f569cae18955eb4ad2 Mon Sep 17 00:00:00 2001
-From: Jason Merrill <jason@redhat.com>
-Date: Wed, 22 Mar 2023 16:11:47 -0400
-Subject: [PATCH] c++: local class in nested generic lambda [PR109241]
-
-In this testcase, the tree walk to look for bare parameter packs was
-confused by finding a type with no TREE_BINFO. But it should be fine that
-it's unset; we already checked for unexpanded packs at parse time.
-
-I also tried doing the partial instantiation of the local class, which is
-probably the long-term direction we want to go, but for stage 4 let's go
-with this safer change.
-
- PR c++/109241
-
-gcc/cp/ChangeLog:
-
- * pt.cc (find_parameter_packs_r): Handle null TREE_BINFO.
-
-gcc/testsuite/ChangeLog:
-
- * g++.dg/cpp1y/lambda-generic-local-class2.C: New test.
---- a/gcc/cp/pt.cc
-+++ b/gcc/cp/pt.cc
-@@ -4106,10 +4106,14 @@ find_parameter_packs_r (tree *tp, int *walk_subtrees, void* data)
- case TAG_DEFN:
- t = TREE_TYPE (t);
- if (CLASS_TYPE_P (t))
-- /* Local class, need to look through the whole definition. */
-- for (tree bb : BINFO_BASE_BINFOS (TYPE_BINFO (t)))
-- cp_walk_tree (&BINFO_TYPE (bb), &find_parameter_packs_r,
-- ppd, ppd->visited);
-+ {
-+ /* Local class, need to look through the whole definition.
-+ TYPE_BINFO might be unset for a partial instantiation. */
-+ if (TYPE_BINFO (t))
-+ for (tree bb : BINFO_BASE_BINFOS (TYPE_BINFO (t)))
-+ cp_walk_tree (&BINFO_TYPE (bb), &find_parameter_packs_r,
-+ ppd, ppd->visited);
-+ }
- else
- /* Enum, look at the values. */
- for (tree l = TYPE_VALUES (t); l; l = TREE_CHAIN (l))
---- /dev/null
-+++ b/gcc/testsuite/g++.dg/cpp1y/lambda-generic-local-class2.C
-@@ -0,0 +1,13 @@
-+// PR c++/109241
-+// { dg-do compile { target c++14 } }
-+// { dg-options "" } no pedantic
-+
-+void g() {
-+ [](auto) {
-+ [](auto) {
-+ ({
-+ struct A {};
-+ });
-+ };
-+ }(1);
-+}
---
-2.31.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/gcc/files/
@ 2023-09-25 2:21 Sam James
0 siblings, 0 replies; 18+ messages in thread
From: Sam James @ 2023-09-25 2:21 UTC (permalink / raw
To: gentoo-commits
commit: 9ee25f02fcb2f92884a64becf5ba618da96d6402
Author: Michael Mair-Keimberger <mmk <AT> levelnine <DOT> at>
AuthorDate: Fri Sep 22 05:45:15 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Sep 25 02:21:17 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9ee25f02
sys-devel/gcc: remove unused patch
Signed-off-by: Michael Mair-Keimberger <mmk <AT> levelnine.at>
Closes: https://github.com/gentoo/gentoo/pull/32985
Signed-off-by: Sam James <sam <AT> gentoo.org>
.../gcc-14.0.0_pre20230806-fix-bootstrap.patch | 105 ---------------------
1 file changed, 105 deletions(-)
diff --git a/sys-devel/gcc/files/gcc-14.0.0_pre20230806-fix-bootstrap.patch b/sys-devel/gcc/files/gcc-14.0.0_pre20230806-fix-bootstrap.patch
deleted file mode 100644
index 5d5747312b69..000000000000
--- a/sys-devel/gcc/files/gcc-14.0.0_pre20230806-fix-bootstrap.patch
+++ /dev/null
@@ -1,105 +0,0 @@
-https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=af6cfd7b663909688c6ca55b6e9f859cdde4310f
-https://gcc.gnu.org/PR110926
-
-From af6cfd7b663909688c6ca55b6e9f859cdde4310f Mon Sep 17 00:00:00 2001
-From: liuhongt <hongtao.liu@intel.com>
-Date: Mon, 7 Aug 2023 11:10:52 +0800
-Subject: [PATCH] Fix ICE in rtl check when bootstrap.
-MIME-Version: 1.0
-Content-Type: text/plain; charset=utf8
-Content-Transfer-Encoding: 8bit
-
-/var/tmp/portage/sys-devel/gcc-14.0.0_pre20230806/work/gcc-14-20230806/libgfortran/generated/matmul_i1.c: In function âmatmul_i1_avx512fâ:
-/var/tmp/portage/sys-devel/gcc-14.0.0_pre20230806/work/gcc-14-20230806/libgfortran/generated/matmul_i1.c:1781:1: internal compiler error: RTL check: expected elt 0 type 'i' or 'n', have 'w' (rtx const_int) in vpternlog_redundant_operand_mask, at config/i386/i386.cc:19460
- 1781 | }
- | ^
-0x5559de26dc2d rtl_check_failed_type2(rtx_def const*, int, int, int, char const*, int, char const*)
- /var/tmp/portage/sys-devel/gcc-14.0.0_pre20230806/work/gcc-14-20230806/gcc/rtl.cc:761
-0x5559de340bfe vpternlog_redundant_operand_mask(rtx_def**)
- /var/tmp/portage/sys-devel/gcc-14.0.0_pre20230806/work/gcc-14-20230806/gcc/config/i386/i386.cc:19460
-0x5559dfec67a6 split_44
- /var/tmp/portage/sys-devel/gcc-14.0.0_pre20230806/work/gcc-14-20230806/gcc/config/i386/sse.md:12730
-0x5559dfec67a6 split_63
- /var/tmp/portage/sys-devel/gcc-14.0.0_pre20230806/work/gcc-14-20230806/gcc/config/i386/sse.md:28428
-0x5559deb8a682 try_split(rtx_def*, rtx_insn*, int)
- /var/tmp/portage/sys-devel/gcc-14.0.0_pre20230806/work/gcc-14-20230806/gcc/emit-rtl.cc:3800
-0x5559deb8adf2 try_split(rtx_def*, rtx_insn*, int)
- /var/tmp/portage/sys-devel/gcc-14.0.0_pre20230806/work/gcc-14-20230806/gcc/emit-rtl.cc:3972
-0x5559def69194 split_insn
- /var/tmp/portage/sys-devel/gcc-14.0.0_pre20230806/work/gcc-14-20230806/gcc/recog.cc:3385
-0x5559def70c57 split_all_insns()
- /var/tmp/portage/sys-devel/gcc-14.0.0_pre20230806/work/gcc-14-20230806/gcc/recog.cc:3489
-0x5559def70d0c execute
- /var/tmp/portage/sys-devel/gcc-14.0.0_pre20230806/work/gcc-14-20230806/gcc/recog.cc:4413
-
-Use INTVAL (imm_op) instead of XINT (imm_op, 0).
-
-gcc/ChangeLog:
-
- PR target/110926
- * config/i386/i386-protos.h
- (vpternlog_redundant_operand_mask): Adjust parameter type.
- * config/i386/i386.cc (vpternlog_redundant_operand_mask): Use
- INTVAL instead of XINT, also adjust parameter type from rtx*
- to rtx since the function only needs operands[4] in vpternlog
- pattern.
- (substitute_vpternlog_operands): Pass operands[4] instead of
- operands to vpternlog_redundant_operand_mask.
- * config/i386/sse.md: Ditto.
---- a/gcc/config/i386/i386-protos.h
-+++ b/gcc/config/i386/i386-protos.h
-@@ -70,7 +70,7 @@ extern machine_mode ix86_cc_mode (enum rtx_code, rtx, rtx);
- extern int avx_vpermilp_parallel (rtx par, machine_mode mode);
- extern int avx_vperm2f128_parallel (rtx par, machine_mode mode);
-
--extern int vpternlog_redundant_operand_mask (rtx[]);
-+extern int vpternlog_redundant_operand_mask (rtx);
- extern void substitute_vpternlog_operands (rtx[]);
-
- extern bool ix86_expand_strlen (rtx, rtx, rtx, rtx);
---- a/gcc/config/i386/i386.cc
-+++ b/gcc/config/i386/i386.cc
-@@ -19454,10 +19454,10 @@ avx_vperm2f128_parallel (rtx par, machine_mode mode)
- /* Return a mask of VPTERNLOG operands that do not affect output. */
-
- int
--vpternlog_redundant_operand_mask (rtx *operands)
-+vpternlog_redundant_operand_mask (rtx pternlog_imm)
- {
- int mask = 0;
-- int imm8 = XINT (operands[4], 0);
-+ int imm8 = INTVAL (pternlog_imm);
-
- if (((imm8 >> 4) & 0x0F) == (imm8 & 0x0F))
- mask |= 1;
-@@ -19475,7 +19475,7 @@ vpternlog_redundant_operand_mask (rtx *operands)
- void
- substitute_vpternlog_operands (rtx *operands)
- {
-- int mask = vpternlog_redundant_operand_mask (operands);
-+ int mask = vpternlog_redundant_operand_mask (operands[4]);
-
- if (mask & 1) /* The first operand is redundant. */
- operands[1] = operands[2];
---- a/gcc/config/i386/sse.md
-+++ b/gcc/config/i386/sse.md
-@@ -12751,7 +12751,7 @@
- (match_operand:V 3 "memory_operand")
- (match_operand:SI 4 "const_0_to_255_operand")]
- UNSPEC_VTERNLOG))]
-- "!reload_completed && vpternlog_redundant_operand_mask (operands) == 3"
-+ "!reload_completed && vpternlog_redundant_operand_mask (operands[4]) == 3"
- [(set (match_dup 0)
- (match_dup 3))
- (set (match_dup 0)
-@@ -12772,7 +12772,7 @@
- (match_operand:V 3 "nonimmediate_operand")
- (match_operand:SI 4 "const_0_to_255_operand")]
- UNSPEC_VTERNLOG))]
-- "!reload_completed && vpternlog_redundant_operand_mask (operands) != 0"
-+ "!reload_completed && vpternlog_redundant_operand_mask (operands[4]) != 0"
- [(set (match_dup 0)
- (unspec:V
- [(match_dup 1)
---
-2.39.3
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/gcc/files/
@ 2023-10-27 3:32 Sam James
0 siblings, 0 replies; 18+ messages in thread
From: Sam James @ 2023-10-27 3:32 UTC (permalink / raw
To: gentoo-commits
commit: 72088e299b390de993b62a4ce5eaf83c21dc3827
Author: Michael Mair-Keimberger <mmk <AT> levelnine <DOT> at>
AuthorDate: Sun Oct 22 08:37:58 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Oct 27 03:32:00 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=72088e29
sys-devel/gcc: remove unused patch
Signed-off-by: Michael Mair-Keimberger <mmk <AT> levelnine.at>
Closes: https://github.com/gentoo/gentoo/pull/33454
Signed-off-by: Sam James <sam <AT> gentoo.org>
.../gcc-14.0.0_pre20231001-pgo-bootstrap.patch | 45 ----------------------
1 file changed, 45 deletions(-)
diff --git a/sys-devel/gcc/files/gcc-14.0.0_pre20231001-pgo-bootstrap.patch b/sys-devel/gcc/files/gcc-14.0.0_pre20231001-pgo-bootstrap.patch
deleted file mode 100644
index 31ad7d855268..000000000000
--- a/sys-devel/gcc/files/gcc-14.0.0_pre20231001-pgo-bootstrap.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-https://bugs.gentoo.org/914998
-https://gcc.gnu.org/PR111642
-https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=e465e5e4a969334f64cf0d6611de5273d73ea732
-
-From e465e5e4a969334f64cf0d6611de5273d73ea732 Mon Sep 17 00:00:00 2001
-From: Richard Sandiford <richard.sandiford@arm.com>
-Date: Mon, 2 Oct 2023 07:20:45 +0100
-Subject: [PATCH] Fix profiledbootstrap poly_int fallout [PR111642]
-
-rtl-tests.cc and simplify-rtx.cc used partial specialisation
-to try to restrict the NUM_POLY_INT_COEFFS>1 tests without
-resorting to preprocessor tests. That now triggers an error
-in some configurations, since the NUM_POLY_INT_COEFFS>1 tests
-used the global poly_int64, whose definition does not depend
-on the template parameter.
-
-This patch uses local types that do depend on the template parameter.
-
-gcc/
- PR bootstrap/111642
- * rtl-tests.cc (const_poly_int_tests<N>::run): Use a local
- poly_int64 typedef.
- * simplify-rtx.cc (simplify_const_poly_int_tests<N>::run): Likewise.
---- a/gcc/rtl-tests.cc
-+++ b/gcc/rtl-tests.cc
-@@ -246,6 +246,7 @@ template<unsigned int N>
- void
- const_poly_int_tests<N>::run ()
- {
-+ using poly_int64 = poly_int<N, HOST_WIDE_INT>;
- rtx x1 = gen_int_mode (poly_int64 (1, 1), QImode);
- rtx x255 = gen_int_mode (poly_int64 (1, 255), QImode);
-
---- a/gcc/simplify-rtx.cc
-+++ b/gcc/simplify-rtx.cc
-@@ -8689,6 +8689,7 @@ template<unsigned int N>
- void
- simplify_const_poly_int_tests<N>::run ()
- {
-+ using poly_int64 = poly_int<N, HOST_WIDE_INT>;
- rtx x1 = gen_int_mode (poly_int64 (1, 1), QImode);
- rtx x2 = gen_int_mode (poly_int64 (-80, 127), QImode);
- rtx x3 = gen_int_mode (poly_int64 (-79, -128), QImode);
---
-2.39.3
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/gcc/files/
@ 2023-11-22 12:08 Sam James
0 siblings, 0 replies; 18+ messages in thread
From: Sam James @ 2023-11-22 12:08 UTC (permalink / raw
To: gentoo-commits
commit: 02b9e1ebe9786a09cb4b00914d89d343241d6977
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Nov 22 12:06:38 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Nov 22 12:07:48 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=02b9e1eb
sys-devel/gcc/files: drop old patches
Signed-off-by: Sam James <sam <AT> gentoo.org>
.../gcc-14.0.0_pre20231015-pycryptodome-ice.patch | 212 ---------------------
.../files/gcc-14.0.0_pre20231022-PR111860.patch | 129 -------------
2 files changed, 341 deletions(-)
diff --git a/sys-devel/gcc/files/gcc-14.0.0_pre20231015-pycryptodome-ice.patch b/sys-devel/gcc/files/gcc-14.0.0_pre20231015-pycryptodome-ice.patch
deleted file mode 100644
index 377f68511f78..000000000000
--- a/sys-devel/gcc/files/gcc-14.0.0_pre20231015-pycryptodome-ice.patch
+++ /dev/null
@@ -1,212 +0,0 @@
-https://gcc.gnu.org/PR111845
-https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=f1744dd50bb1661c98b694ff907cb0a1be4f6134
-
-From f1744dd50bb1661c98b694ff907cb0a1be4f6134 Mon Sep 17 00:00:00 2001
-From: Jakub Jelinek <jakub@redhat.com>
-Date: Wed, 18 Oct 2023 12:37:40 +0200
-Subject: [PATCH] tree-ssa-math-opts: Fix up match_uaddc_usubc [PR111845]
-
-GCC ICEs on the first testcase. Successful match_uaddc_usubc ends up with
-some dead stmts which DCE will remove (hopefully) later all.
-The ICE is because one of the dead stmts refers to a freed SSA_NAME.
-The code already gsi_removes a couple of stmts in the
- /* Remove some statements which can't be kept in the IL because they
- use SSA_NAME whose setter is going to be removed too. */
-section for the same reason (the reason for the freed SSA_NAMEs is that
-we don't really have a replacement for those cases - all we have after
-a match is combined overflow from the addition/subtraction of 2 operands + a
-[0, 1] carry in, but not the individual overflows from the former 2
-additions), but for the last (most significant) limb case, where we try
-to match x = op1 + op2 + carry1 + carry2; or
-x = op1 - op2 - carry1 - carry2; we just gsi_replace the final stmt, but
-left around the 2 temporary stmts as dead; if we were unlucky enough that
-those referenced the carry flag that went away, it ICEs.
-
-So, the following patch remembers those temporary statements (rather than
-trying to rediscover them more expensively) and removes them before the
-final one is replaced.
-
-While working on it, I've noticed we didn't support all the reassociated
-possibilities of writing the addition of 4 operands or subtracting 3
-operands from one, we supported e.g.
-x = ((op1 + op2) + op3) + op4;
-x = op1 + ((op2 + op3) + op4);
-but not
-x = (op1 + (op2 + op3)) + op4;
-x = op1 + (op2 + (op3 + op4));
-Fixed by the change to inspect also rhs[2] when rhs[1] didn't yield what
-we were searching for (if non-NULL) - rhs[0] is inspected in the first
-loop and has different handling for the MINUS_EXPR case.
-
-2023-10-18 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/111845
- * tree-ssa-math-opts.cc (match_uaddc_usubc): Remember temporary
- statements for the 4 operand addition or subtraction of 3 operands
- from 1 operand cases and remove them when successful. Look for
- nested additions even from rhs[2], not just rhs[1].
-
- * gcc.dg/pr111845.c: New test.
- * gcc.target/i386/pr111845.c: New test.
----
- gcc/testsuite/gcc.dg/pr111845.c | 16 ++++++++
- gcc/testsuite/gcc.target/i386/pr111845.c | 47 +++++++++++++++++++++++
- gcc/tree-ssa-math-opts.cc | 48 +++++++++++++++---------
- 3 files changed, 94 insertions(+), 17 deletions(-)
- create mode 100644 gcc/testsuite/gcc.dg/pr111845.c
- create mode 100644 gcc/testsuite/gcc.target/i386/pr111845.c
-
-diff --git a/gcc/testsuite/gcc.dg/pr111845.c b/gcc/testsuite/gcc.dg/pr111845.c
-new file mode 100644
-index 000000000000..1bcb4f88e6f1
---- /dev/null
-+++ b/gcc/testsuite/gcc.dg/pr111845.c
-@@ -0,0 +1,16 @@
-+/* PR tree-optimization/111845 */
-+/* { dg-do compile } */
-+/* { dg-options "-O2 --param tree-reassoc-width=2" } */
-+
-+int a, b;
-+unsigned int c, d, e;
-+
-+void
-+foo (int x)
-+{
-+ b += d;
-+ c += b < d;
-+ b += e = a < x;
-+ c += b;
-+ c += b < e;
-+}
-diff --git a/gcc/testsuite/gcc.target/i386/pr111845.c b/gcc/testsuite/gcc.target/i386/pr111845.c
-new file mode 100644
-index 000000000000..d52110a40422
---- /dev/null
-+++ b/gcc/testsuite/gcc.target/i386/pr111845.c
-@@ -0,0 +1,47 @@
-+/* PR tree-optimization/111845 */
-+/* { dg-do compile } */
-+/* { dg-options "-O2 -g -masm=att" } */
-+/* { dg-final { scan-assembler-times "\tadcq\t" 8 { target lp64 } } } */
-+/* { dg-final { scan-assembler-times "\tadcl\t" 8 { target ia32 } } } */
-+
-+unsigned long l, m;
-+
-+__attribute__((noipa)) void
-+foo (unsigned long x, unsigned long y, unsigned long h, unsigned long i, int a, int b)
-+{
-+ unsigned long c, d;
-+ unsigned long e = __builtin_add_overflow (x, y, &c);
-+ unsigned long f = __builtin_add_overflow (c, a < b, &d);
-+ m = ((h + i) + e) + f;
-+ l = d;
-+}
-+
-+__attribute__((noipa)) void
-+bar (unsigned long x, unsigned long y, unsigned long h, unsigned long i, int a, int b)
-+{
-+ unsigned long c, d;
-+ unsigned long e = __builtin_add_overflow (x, y, &c);
-+ unsigned long f = __builtin_add_overflow (c, a < b, &d);
-+ m = (h + (i + e)) + f;
-+ l = d;
-+}
-+
-+__attribute__((noipa)) void
-+baz (unsigned long x, unsigned long y, unsigned long h, unsigned long i, int a, int b)
-+{
-+ unsigned long c, d;
-+ unsigned long e = __builtin_add_overflow (x, y, &c);
-+ unsigned long f = __builtin_add_overflow (c, a < b, &d);
-+ m = h + (i + (e + f));
-+ l = d;
-+}
-+
-+__attribute__((noipa)) void
-+qux (unsigned long x, unsigned long y, unsigned long h, unsigned long i, int a, int b)
-+{
-+ unsigned long c, d;
-+ unsigned long e = __builtin_add_overflow (x, y, &c);
-+ unsigned long f = __builtin_add_overflow (c, a < b, &d);
-+ m = h + ((i + e) + f);
-+ l = d;
-+}
-diff --git a/gcc/tree-ssa-math-opts.cc b/gcc/tree-ssa-math-opts.cc
-index 51c14d6bad9f..363f31646691 100644
---- a/gcc/tree-ssa-math-opts.cc
-+++ b/gcc/tree-ssa-math-opts.cc
-@@ -4581,6 +4581,7 @@ match_uaddc_usubc (gimple_stmt_iterator *gsi, gimple *stmt, tree_code code)
- if (!INTEGRAL_TYPE_P (type) || !TYPE_UNSIGNED (type))
- return false;
-
-+ auto_vec<gimple *, 2> temp_stmts;
- if (code != BIT_IOR_EXPR && code != BIT_XOR_EXPR)
- {
- /* If overflow flag is ignored on the MSB limb, we can end up with
-@@ -4615,26 +4616,29 @@ match_uaddc_usubc (gimple_stmt_iterator *gsi, gimple *stmt, tree_code code)
- rhs[0] = gimple_assign_rhs1 (g);
- tree &r = rhs[2] ? rhs[3] : rhs[2];
- r = r2;
-+ temp_stmts.quick_push (g);
- }
- else
- break;
- }
-- while (TREE_CODE (rhs[1]) == SSA_NAME && !rhs[3])
-- {
-- gimple *g = SSA_NAME_DEF_STMT (rhs[1]);
-- if (has_single_use (rhs[1])
-- && is_gimple_assign (g)
-- && gimple_assign_rhs_code (g) == PLUS_EXPR)
-- {
-- rhs[1] = gimple_assign_rhs1 (g);
-- if (rhs[2])
-- rhs[3] = gimple_assign_rhs2 (g);
-- else
-- rhs[2] = gimple_assign_rhs2 (g);
-- }
-- else
-- break;
-- }
-+ for (int i = 1; i <= 2; ++i)
-+ while (rhs[i] && TREE_CODE (rhs[i]) == SSA_NAME && !rhs[3])
-+ {
-+ gimple *g = SSA_NAME_DEF_STMT (rhs[i]);
-+ if (has_single_use (rhs[i])
-+ && is_gimple_assign (g)
-+ && gimple_assign_rhs_code (g) == PLUS_EXPR)
-+ {
-+ rhs[i] = gimple_assign_rhs1 (g);
-+ if (rhs[2])
-+ rhs[3] = gimple_assign_rhs2 (g);
-+ else
-+ rhs[2] = gimple_assign_rhs2 (g);
-+ temp_stmts.quick_push (g);
-+ }
-+ else
-+ break;
-+ }
- /* If there are just 3 addends or one minuend and two subtrahends,
- check for UADDC or USUBC being pattern recognized earlier.
- Say r = op1 + op2 + ovf1 + ovf2; where the (ovf1 + ovf2) part
-@@ -5039,7 +5043,17 @@ match_uaddc_usubc (gimple_stmt_iterator *gsi, gimple *stmt, tree_code code)
- g = gimple_build_assign (ilhs, IMAGPART_EXPR,
- build1 (IMAGPART_EXPR, TREE_TYPE (ilhs), nlhs));
- if (rhs[2])
-- gsi_insert_before (gsi, g, GSI_SAME_STMT);
-+ {
-+ gsi_insert_before (gsi, g, GSI_SAME_STMT);
-+ /* Remove some further statements which can't be kept in the IL because
-+ they can use SSA_NAMEs whose setter is going to be removed too. */
-+ while (temp_stmts.length ())
-+ {
-+ g = temp_stmts.pop ();
-+ gsi2 = gsi_for_stmt (g);
-+ gsi_remove (&gsi2, true);
-+ }
-+ }
- else
- gsi_replace (gsi, g, true);
- /* Remove some statements which can't be kept in the IL because they
---
-2.39.3
diff --git a/sys-devel/gcc/files/gcc-14.0.0_pre20231022-PR111860.patch b/sys-devel/gcc/files/gcc-14.0.0_pre20231022-PR111860.patch
deleted file mode 100644
index 42deb046d0f3..000000000000
--- a/sys-devel/gcc/files/gcc-14.0.0_pre20231022-PR111860.patch
+++ /dev/null
@@ -1,129 +0,0 @@
-https://gcc.gnu.org/PR111860
-https://gcc.gnu.org/git/gitweb.cgi?p=gcc.git;h=9ed6b22eb4188c57bb3f5cdba5a7effa95395186
-
-From 9ed6b22eb4188c57bb3f5cdba5a7effa95395186 Mon Sep 17 00:00:00 2001
-From: Tamar Christina <tamar.christina@arm.com>
-Date: Mon, 23 Oct 2023 14:07:20 +0100
-Subject: [PATCH] middle-end: don't keep .MEM guard nodes for PHI nodes who
- dominate loop [PR111860]
-
-The previous patch tried to remove PHI nodes that dominated the first loop,
-however the correct fix is to only remove .MEM nodes.
-
-This patch thus makes the condition a bit stricter and only tries to remove
-MEM phi nodes.
-
-I couldn't figure out a way to easily determine if a particular PHI is vUSE
-related, so the patch does:
-
-1. check if the definition is a vDEF and not defined in main loop.
-2. check if the definition is a PHI and not defined in main loop.
-3. check if the definition is a default definition.
-
-For no 2 and 3 we may misidentify the PHI, in both cases the value is defined
-outside of the loop version block which also makes it ok to remove.
-
-gcc/ChangeLog:
-
- PR tree-optimization/111860
- * tree-vect-loop-manip.cc (slpeel_tree_duplicate_loop_to_edge_cfg):
- Drop .MEM nodes only.
-
-gcc/testsuite/ChangeLog:
-
- PR tree-optimization/111860
- * gcc.dg/vect/pr111860-2.c: New test.
- * gcc.dg/vect/pr111860-3.c: New test.
----
- gcc/testsuite/gcc.dg/vect/pr111860-2.c | 17 +++++++++++++++++
- gcc/testsuite/gcc.dg/vect/pr111860-3.c | 17 +++++++++++++++++
- gcc/tree-vect-loop-manip.cc | 21 ++++++++++++++++++++-
- 3 files changed, 54 insertions(+), 1 deletion(-)
- create mode 100644 gcc/testsuite/gcc.dg/vect/pr111860-2.c
- create mode 100644 gcc/testsuite/gcc.dg/vect/pr111860-3.c
-
-diff --git a/gcc/testsuite/gcc.dg/vect/pr111860-2.c b/gcc/testsuite/gcc.dg/vect/pr111860-2.c
-new file mode 100644
-index 000000000000..07f64ffb5318
---- /dev/null
-+++ b/gcc/testsuite/gcc.dg/vect/pr111860-2.c
-@@ -0,0 +1,17 @@
-+/* { dg-do compile } */
-+/* { dg-options "-O -fno-tree-sink -ftree-vectorize" } */
-+int buffer_ctrl_ctx_0, buffer_ctrl_p1, buffer_ctrl_cmd;
-+
-+int
-+buffer_ctrl (long ret, int i)
-+{
-+ switch (buffer_ctrl_cmd)
-+ {
-+ case 1:
-+ buffer_ctrl_ctx_0 = 0;
-+ for (; i; i++)
-+ if (buffer_ctrl_p1)
-+ ret++;
-+ }
-+ return ret;
-+}
-diff --git a/gcc/testsuite/gcc.dg/vect/pr111860-3.c b/gcc/testsuite/gcc.dg/vect/pr111860-3.c
-new file mode 100644
-index 000000000000..07f64ffb5318
---- /dev/null
-+++ b/gcc/testsuite/gcc.dg/vect/pr111860-3.c
-@@ -0,0 +1,17 @@
-+/* { dg-do compile } */
-+/* { dg-options "-O -fno-tree-sink -ftree-vectorize" } */
-+int buffer_ctrl_ctx_0, buffer_ctrl_p1, buffer_ctrl_cmd;
-+
-+int
-+buffer_ctrl (long ret, int i)
-+{
-+ switch (buffer_ctrl_cmd)
-+ {
-+ case 1:
-+ buffer_ctrl_ctx_0 = 0;
-+ for (; i; i++)
-+ if (buffer_ctrl_p1)
-+ ret++;
-+ }
-+ return ret;
-+}
-diff --git a/gcc/tree-vect-loop-manip.cc b/gcc/tree-vect-loop-manip.cc
-index d67c94700144..43ca985c53ce 100644
---- a/gcc/tree-vect-loop-manip.cc
-+++ b/gcc/tree-vect-loop-manip.cc
-@@ -1626,12 +1626,31 @@ slpeel_tree_duplicate_loop_to_edge_cfg (class loop *loop, edge loop_exit,
- edge temp_e = redirect_edge_and_branch (exit, new_preheader);
- flush_pending_stmts (temp_e);
- }
--
- /* Record the new SSA names in the cache so that we can skip materializing
- them again when we fill in the rest of the LCSSA variables. */
- for (auto phi : new_phis)
- {
- tree new_arg = gimple_phi_arg (phi, 0)->def;
-+
-+ if (!SSA_VAR_P (new_arg))
-+ continue;
-+ /* If the PHI MEM node dominates the loop then we shouldn't create
-+ a new LC-SSSA PHI for it in the intermediate block. */
-+ /* A MEM phi that consitutes a new DEF for the vUSE chain can either
-+ be a .VDEF or a PHI that operates on MEM. And said definition
-+ must not be inside the main loop. Or we must be a parameter.
-+ In the last two cases we may remove a non-MEM PHI node, but since
-+ they dominate both loops the removal is unlikely to cause trouble
-+ as the exits must already be using them. */
-+ if (virtual_operand_p (new_arg)
-+ && (SSA_NAME_IS_DEFAULT_DEF (new_arg)
-+ || !flow_bb_inside_loop_p (loop,
-+ gimple_bb (SSA_NAME_DEF_STMT (new_arg)))))
-+ {
-+ auto gsi = gsi_for_stmt (phi);
-+ remove_phi_node (&gsi, true);
-+ continue;
-+ }
- new_phi_args.put (new_arg, gimple_phi_result (phi));
-
- if (TREE_CODE (new_arg) != SSA_NAME)
---
-2.39.3
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/gcc/files/
@ 2024-03-07 18:39 Sam James
0 siblings, 0 replies; 18+ messages in thread
From: Sam James @ 2024-03-07 18:39 UTC (permalink / raw
To: gentoo-commits
commit: 1a1205708709602311847620b5d30f8b85db5b3c
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Mar 7 18:38:48 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Mar 7 18:39:16 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1a120570
sys-devel/gcc: add more bug refs to fixincludes patch
Signed-off-by: Sam James <sam <AT> gentoo.org>
sys-devel/gcc/files/gcc-13-fix-cross-fixincludes.patch | 2 ++
1 file changed, 2 insertions(+)
diff --git a/sys-devel/gcc/files/gcc-13-fix-cross-fixincludes.patch b/sys-devel/gcc/files/gcc-13-fix-cross-fixincludes.patch
index e4abe01a0830..6d1681938b07 100644
--- a/sys-devel/gcc/files/gcc-13-fix-cross-fixincludes.patch
+++ b/sys-devel/gcc/files/gcc-13-fix-cross-fixincludes.patch
@@ -2,6 +2,8 @@ Revert of https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=59e4c98173a79fcaa2c3
for now to fix cross fixincludes builds.
https://bugs.gentoo.org/905118
+https://bugs.gentoo.org/925204
+https://bugs.gentoo.org/926059
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -532,11 +532,7 @@ LINKER_PLUGIN_API_H = $(srcdir)/../include/plugin-api.h
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/gcc/files/
@ 2024-04-18 19:32 Conrad Kostecki
0 siblings, 0 replies; 18+ messages in thread
From: Conrad Kostecki @ 2024-04-18 19:32 UTC (permalink / raw
To: gentoo-commits
commit: 0727c9d5a1420f04650d5638346c4c3e3d43dd8d
Author: Michael Mair-Keimberger <mmk <AT> levelnine <DOT> at>
AuthorDate: Thu Apr 18 18:15:52 2024 +0000
Commit: Conrad Kostecki <conikost <AT> gentoo <DOT> org>
CommitDate: Thu Apr 18 19:31:48 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0727c9d5
sys-devel/gcc: remove unused patch
Signed-off-by: Michael Mair-Keimberger <mmk <AT> levelnine.at>
Signed-off-by: Conrad Kostecki <conikost <AT> gentoo.org>
.../gcc/files/gcc-14.0.1_pre20240303-uninit.patch | 48 ----------------------
1 file changed, 48 deletions(-)
diff --git a/sys-devel/gcc/files/gcc-14.0.1_pre20240303-uninit.patch b/sys-devel/gcc/files/gcc-14.0.1_pre20240303-uninit.patch
deleted file mode 100644
index 5ad41c4581a9..000000000000
--- a/sys-devel/gcc/files/gcc-14.0.1_pre20240303-uninit.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=901e7bdab70e2275723ac31dacbbce0b6f68f4f4
-
-From 901e7bdab70e2275723ac31dacbbce0b6f68f4f4 Mon Sep 17 00:00:00 2001
-From: Jakub Jelinek <jakub@redhat.com>
-Date: Mon, 4 Mar 2024 19:23:02 +0100
-Subject: [PATCH] combine: Fix recent WORD_REGISTER_OPERATIONS check [PR113010]
-
-On Mon, Mar 04, 2024 at 05:18:39PM +0100, Rainer Orth wrote:
-> unfortunately, the patch broke Solaris/SPARC bootstrap
-> (sparc-sun-solaris2.11):
->
-> .../gcc/combine.cc: In function 'rtx_code simplify_comparison(rtx_code, rtx_def**, rtx_def**)':
-> .../gcc/combine.cc:12101:25: error: '*(unsigned int*)((char*)&inner_mode + offsetof(scalar_int_mode, scalar_int_mode::m_mode))' may be used uninitialized [-Werror=maybe-uninitialized]
-> 12101 | scalar_int_mode mode, inner_mode, tmode;
-> | ^~~~~~~~~~
-
-I don't see how it could ever work properly, inner_mode in that spot is
-just uninitialized.
-
-I think we shouldn't worry about paradoxical subregs of non-scalar_int_mode
-REGs/MEMs and for the scalar_int_mode ones should initialize inner_mode
-before we use it.
-Another option would be to use
-maybe_lt (GET_MODE_PRECISION (GET_MODE (SUBREG_REG (op0))), BITS_PER_WORD)
-and
-load_extend_op (GET_MODE (SUBREG_REG (op0))) == ZERO_EXTEND,
-or set machine_mode smode = GET_MODE (SUBREG_REG (op0)); and use it in
-those two spots.
-
-2024-03-04 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/113010
- * combine.cc (simplify_comparison): Guard the
- WORD_REGISTER_OPERATIONS check on scalar_int_mode of SUBREG_REG
- and initialize inner_mode.
---- a/gcc/combine.cc
-+++ b/gcc/combine.cc
-@@ -12554,6 +12554,8 @@ simplify_comparison (enum rtx_code code, rtx *pop0, rtx *pop1)
- if (paradoxical_subreg_p (op0))
- {
- if (WORD_REGISTER_OPERATIONS
-+ && is_a <scalar_int_mode> (GET_MODE (SUBREG_REG (op0)),
-+ &inner_mode)
- && GET_MODE_PRECISION (inner_mode) < BITS_PER_WORD
- /* On WORD_REGISTER_OPERATIONS targets the bits
- beyond sub_mode aren't considered undefined,
---
-2.39.3
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/gcc/files/
@ 2024-05-26 21:31 Conrad Kostecki
0 siblings, 0 replies; 18+ messages in thread
From: Conrad Kostecki @ 2024-05-26 21:31 UTC (permalink / raw
To: gentoo-commits
commit: d76880f11352087ad0a69cb1fad59fe033328bf6
Author: Michael Mair-Keimberger <mmk <AT> levelnine <DOT> at>
AuthorDate: Sun May 26 08:58:59 2024 +0000
Commit: Conrad Kostecki <conikost <AT> gentoo <DOT> org>
CommitDate: Sun May 26 21:29:11 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d76880f1
sys-devel/gcc: remove unused patch
Signed-off-by: Michael Mair-Keimberger <mmk <AT> levelnine.at>
Signed-off-by: Conrad Kostecki <conikost <AT> gentoo.org>
.../gcc/files/gcc-14.1.0-emacs-PR114965.patch | 106 ---------------------
1 file changed, 106 deletions(-)
diff --git a/sys-devel/gcc/files/gcc-14.1.0-emacs-PR114965.patch b/sys-devel/gcc/files/gcc-14.1.0-emacs-PR114965.patch
deleted file mode 100644
index df4fcee90c51..000000000000
--- a/sys-devel/gcc/files/gcc-14.1.0-emacs-PR114965.patch
+++ /dev/null
@@ -1,106 +0,0 @@
-https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=d54151df3ba0ee3203e0b8cb8f8fcd168a766c51
-https://gcc.gnu.org/PR114965
-
-From d54151df3ba0ee3203e0b8cb8f8fcd168a766c51 Mon Sep 17 00:00:00 2001
-From: Jakub Jelinek <jakub@redhat.com>
-Date: Wed, 8 May 2024 10:17:32 +0200
-Subject: [PATCH] reassoc: Fix up optimize_range_tests_to_bit_test [PR114965]
-
-The optimize_range_tests_to_bit_test optimization normally emits a range
-test first:
- if (entry_test_needed)
- {
- tem = build_range_check (loc, optype, unshare_expr (exp),
- false, lowi, high);
- if (tem == NULL_TREE || is_gimple_val (tem))
- continue;
- }
-so during the bit test we already know that exp is in the [lowi, high]
-range, but skips it if we have range info which tells us this isn't
-necessary.
-Also, normally it emits shifts by exp - lowi counter, but has an
-optimization to use just exp counter if the mask isn't a more expensive
-constant in that case and lowi is > 0 and high is smaller than prec.
-
-The following testcase is miscompiled because the two abnormal cases
-are triggered. The range of exp is [43, 43][48, 48][95, 95], so we on
-64-bit arch decide we don't need the entry test, because 95 - 43 < 64.
-And we also decide to use just exp as counter, because the range test
-tests just for exp == 43 || exp == 48, so high is smaller than 64 too.
-Because 95 is in the exp range, we can't do that, we'd either need to
-do a range test first, i.e.
-if (exp - 43U <= 48U - 43U) if ((1UL << exp) & mask1))
-or need to subtract lowi from the shift counter, i.e.
-if ((1UL << (exp - 43)) & mask2)
-but can't do both unless r.upper_bound () is < prec.
-
-The following patch ensures that.
-
-2024-05-08 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/114965
- * tree-ssa-reassoc.cc (optimize_range_tests_to_bit_test): Don't try to
- optimize away exp - lowi subtraction from shift count unless entry
- test is emitted or unless r.upper_bound () is smaller than prec.
-
- * gcc.c-torture/execute/pr114965.c: New test.
-
-(cherry picked from commit 9adec2d91e62a479474ae79df5b455fd4b8463ba)
----
- .../gcc.c-torture/execute/pr114965.c | 30 +++++++++++++++++++
- gcc/tree-ssa-reassoc.cc | 3 +-
- 2 files changed, 32 insertions(+), 1 deletion(-)
- create mode 100644 gcc/testsuite/gcc.c-torture/execute/pr114965.c
-
-diff --git a/gcc/testsuite/gcc.c-torture/execute/pr114965.c b/gcc/testsuite/gcc.c-torture/execute/pr114965.c
-new file mode 100644
-index 000000000000..89d68e187015
---- /dev/null
-+++ b/gcc/testsuite/gcc.c-torture/execute/pr114965.c
-@@ -0,0 +1,30 @@
-+/* PR tree-optimization/114965 */
-+
-+static void
-+foo (const char *x)
-+{
-+
-+ char a = '0';
-+ while (1)
-+ {
-+ switch (*x)
-+ {
-+ case '_':
-+ case '+':
-+ a = *x;
-+ x++;
-+ continue;
-+ default:
-+ break;
-+ }
-+ break;
-+ }
-+ if (a == '0' || a == '+')
-+ __builtin_abort ();
-+}
-+
-+int
-+main ()
-+{
-+ foo ("_");
-+}
-diff --git a/gcc/tree-ssa-reassoc.cc b/gcc/tree-ssa-reassoc.cc
-index 61f54f07b577..556ecdebe2d7 100644
---- a/gcc/tree-ssa-reassoc.cc
-+++ b/gcc/tree-ssa-reassoc.cc
-@@ -3418,7 +3418,8 @@ optimize_range_tests_to_bit_test (enum tree_code opcode, int first, int length,
- We can avoid then subtraction of the minimum value, but the
- mask constant could be perhaps more expensive. */
- if (compare_tree_int (lowi, 0) > 0
-- && compare_tree_int (high, prec) < 0)
-+ && compare_tree_int (high, prec) < 0
-+ && (entry_test_needed || wi::ltu_p (r.upper_bound (), prec)))
- {
- int cost_diff;
- HOST_WIDE_INT m = tree_to_uhwi (lowi);
---
-2.39.3
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/gcc/files/
@ 2024-06-10 15:41 Sam James
0 siblings, 0 replies; 18+ messages in thread
From: Sam James @ 2024-06-10 15:41 UTC (permalink / raw
To: gentoo-commits
commit: 37b5a2fe628275e617272c5094e7dfc8cb9f0d4e
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Jun 10 15:37:45 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Jun 10 15:38:19 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=37b5a2fe
sys-devel/gcc: add bug ref to fixincludes issue
MacPorts folks have kindly reported the issue upstream so add a ref
to the bug (https://gcc.gnu.org/PR115416).
Bug: https://gcc.gnu.org/PR115416
Bug: https://bugs.gentoo.org/905118
Bug: https://bugs.gentoo.org/925204
Bug: https://bugs.gentoo.org/926059
Signed-off-by: Sam James <sam <AT> gentoo.org>
sys-devel/gcc/files/gcc-13-fix-cross-fixincludes.patch | 1 +
1 file changed, 1 insertion(+)
diff --git a/sys-devel/gcc/files/gcc-13-fix-cross-fixincludes.patch b/sys-devel/gcc/files/gcc-13-fix-cross-fixincludes.patch
index 6d1681938b07..e0e5a3ab9b9f 100644
--- a/sys-devel/gcc/files/gcc-13-fix-cross-fixincludes.patch
+++ b/sys-devel/gcc/files/gcc-13-fix-cross-fixincludes.patch
@@ -1,6 +1,7 @@
Revert of https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=59e4c98173a79fcaa2c33253261409f38856c384
for now to fix cross fixincludes builds.
+https://gcc.gnu.org/PR115416
https://bugs.gentoo.org/905118
https://bugs.gentoo.org/925204
https://bugs.gentoo.org/926059
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/gcc/files/
@ 2024-10-04 8:27 Sam James
0 siblings, 0 replies; 18+ messages in thread
From: Sam James @ 2024-10-04 8:27 UTC (permalink / raw
To: gentoo-commits
commit: fce4ac1987e94dac956cb3591ff5e095e8c5465c
Author: Michael Mair-Keimberger <mmk <AT> levelnine <DOT> at>
AuthorDate: Wed Aug 28 07:07:17 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Oct 4 08:26:09 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fce4ac19
sys-devel/gcc: remove unused patch
Signed-off-by: Michael Mair-Keimberger <mmk <AT> levelnine.at>
Signed-off-by: Sam James <sam <AT> gentoo.org>
.../files/gcc-15.0.0_pre20240623-PR115602.patch | 120 ---------------------
1 file changed, 120 deletions(-)
diff --git a/sys-devel/gcc/files/gcc-15.0.0_pre20240623-PR115602.patch b/sys-devel/gcc/files/gcc-15.0.0_pre20240623-PR115602.patch
deleted file mode 100644
index d78c6d964906..000000000000
--- a/sys-devel/gcc/files/gcc-15.0.0_pre20240623-PR115602.patch
+++ /dev/null
@@ -1,120 +0,0 @@
-https://gcc.gnu.org/PR115602
-https://gcc.gnu.org/git/?p=gcc.git;a=patch;h=c43c74f6ec795a586388de7abfdd20a0040f6f16
-
-From c43c74f6ec795a586388de7abfdd20a0040f6f16 Mon Sep 17 00:00:00 2001
-From: Richard Biener <rguenther@suse.de>
-Date: Mon, 24 Jun 2024 09:52:39 +0200
-Subject: [PATCH] tree-optimization/115602 - SLP CSE results in cycles
-
-The following prevents SLP CSE to create new cycles which happened
-because of a 1:1 permute node being present where its child was then
-CSEd to the permute node. Fixed by making a node only available to
-CSE to after recursing.
-
- PR tree-optimization/115602
- * tree-vect-slp.cc (vect_cse_slp_nodes): Delay populating the
- bst-map to avoid cycles.
-
- * gcc.dg/vect/pr115602.c: New testcase.
----
- gcc/testsuite/gcc.dg/vect/pr115602.c | 27 +++++++++++++++++++++++
- gcc/tree-vect-slp.cc | 33 ++++++++++++++++++----------
- 2 files changed, 48 insertions(+), 12 deletions(-)
- create mode 100644 gcc/testsuite/gcc.dg/vect/pr115602.c
-
-diff --git a/gcc/testsuite/gcc.dg/vect/pr115602.c b/gcc/testsuite/gcc.dg/vect/pr115602.c
-new file mode 100644
-index 00000000000..9a208d1d950
---- /dev/null
-+++ b/gcc/testsuite/gcc.dg/vect/pr115602.c
-@@ -0,0 +1,27 @@
-+/* { dg-do compile } */
-+
-+typedef struct {
-+ double x, y;
-+} pointf;
-+struct {
-+ pointf focus;
-+ double zoom;
-+ pointf devscale;
-+ char button;
-+ pointf oldpointer;
-+} gvevent_motion_job;
-+char gvevent_motion_job_4;
-+double gvevent_motion_pointer_1, gvevent_motion_pointer_0;
-+void gvevent_motion() {
-+ double dx = (gvevent_motion_pointer_0 - gvevent_motion_job.oldpointer.x) /
-+ gvevent_motion_job.devscale.x,
-+ dy = (gvevent_motion_pointer_1 - gvevent_motion_job.oldpointer.y) /
-+ gvevent_motion_job.devscale.y;
-+ if (dx && dy < .0001)
-+ return;
-+ switch (gvevent_motion_job_4)
-+ case 2: {
-+ gvevent_motion_job.focus.x -= dy / gvevent_motion_job.zoom;
-+ gvevent_motion_job.focus.y += dx / gvevent_motion_job.zoom;
-+ }
-+}
-diff --git a/gcc/tree-vect-slp.cc b/gcc/tree-vect-slp.cc
-index e84aeabef94..b47b7e8c979 100644
---- a/gcc/tree-vect-slp.cc
-+++ b/gcc/tree-vect-slp.cc
-@@ -6079,35 +6079,44 @@ vect_optimize_slp_pass::run ()
- static void
- vect_cse_slp_nodes (scalar_stmts_to_slp_tree_map_t *bst_map, slp_tree& node)
- {
-+ bool put_p = false;
- if (SLP_TREE_DEF_TYPE (node) == vect_internal_def
- /* Besides some VEC_PERM_EXPR, two-operator nodes also
- lack scalar stmts and thus CSE doesn't work via bst_map. Ideally
- we'd have sth that works for all internal and external nodes. */
- && !SLP_TREE_SCALAR_STMTS (node).is_empty ())
- {
-- if (slp_tree *leader = bst_map->get (SLP_TREE_SCALAR_STMTS (node)))
-+ slp_tree *leader = bst_map->get (SLP_TREE_SCALAR_STMTS (node));
-+ if (leader)
- {
-- if (*leader != node)
-- {
-- if (dump_enabled_p ())
-- dump_printf_loc (MSG_NOTE, vect_location,
-- "re-using SLP tree %p for %p\n",
-- (void *)*leader, (void *)node);
-- vect_free_slp_tree (node);
-- (*leader)->refcnt += 1;
-- node = *leader;
-- }
-+ /* We've visited this node already. */
-+ if (!*leader || *leader == node)
-+ return;
-+
-+ if (dump_enabled_p ())
-+ dump_printf_loc (MSG_NOTE, vect_location,
-+ "re-using SLP tree %p for %p\n",
-+ (void *)*leader, (void *)node);
-+ vect_free_slp_tree (node);
-+ (*leader)->refcnt += 1;
-+ node = *leader;
- return;
- }
-
-- bst_map->put (SLP_TREE_SCALAR_STMTS (node).copy (), node);
-+ /* Avoid creating a cycle by populating the map only after recursion. */
-+ bst_map->put (SLP_TREE_SCALAR_STMTS (node).copy (), nullptr);
- node->refcnt += 1;
-+ put_p = true;
- /* And recurse. */
- }
-
- for (slp_tree &child : SLP_TREE_CHILDREN (node))
- if (child)
- vect_cse_slp_nodes (bst_map, child);
-+
-+ /* Now record the node for CSE in other siblings. */
-+ if (put_p)
-+ bst_map->put (SLP_TREE_SCALAR_STMTS (node).copy (), node);
- }
-
- /* Optimize the SLP graph of VINFO. */
---
-2.43.0
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/gcc/files/
@ 2024-10-13 13:43 Conrad Kostecki
0 siblings, 0 replies; 18+ messages in thread
From: Conrad Kostecki @ 2024-10-13 13:43 UTC (permalink / raw
To: gentoo-commits
commit: c02bd0dbfc98a3139ea80fdea2f287721f3052d2
Author: Michael Mair-Keimberger <mmk <AT> levelnine <DOT> at>
AuthorDate: Sat Oct 12 17:39:35 2024 +0000
Commit: Conrad Kostecki <conikost <AT> gentoo <DOT> org>
CommitDate: Sun Oct 13 13:40:18 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c02bd0db
sys-devel/gcc: remove unused patch
Signed-off-by: Michael Mair-Keimberger <mmk <AT> levelnine.at>
Closes: https://github.com/gentoo/gentoo/pull/38958
Signed-off-by: Conrad Kostecki <conikost <AT> gentoo.org>
...check-explicitly-for-external-or-constant.patch | 88 ----------------------
1 file changed, 88 deletions(-)
diff --git a/sys-devel/gcc/files/gcc-15.0.0_pre20240922-middle-end-check-explicitly-for-external-or-constant.patch b/sys-devel/gcc/files/gcc-15.0.0_pre20240922-middle-end-check-explicitly-for-external-or-constant.patch
deleted file mode 100644
index 7dcf89df5228..000000000000
--- a/sys-devel/gcc/files/gcc-15.0.0_pre20240922-middle-end-check-explicitly-for-external-or-constant.patch
+++ /dev/null
@@ -1,88 +0,0 @@
-https://inbox.sourceware.org/gcc-patches/patch-18806-tamar@arm.com/T/#u
-https://gcc.gnu.org/PR116817
-
-From 9a5d1eb943dcaf26551b534eb62cbf1dd8443335 Mon Sep 17 00:00:00 2001
-Message-ID: <9a5d1eb943dcaf26551b534eb62cbf1dd8443335.1727104663.git.sam@gentoo.org>
-From: Tamar Christina <tamar.christina@arm.com>
-Date: Mon, 23 Sep 2024 15:29:52 +0100
-Subject: [PATCH] middle-end: check explicitly for external or constants when
- checking for loop invariant [PR116817]
-
-Hi All,
-
-The previous check if a value was external was checking
-!vect_get_internal_def (vinfo, var) but this of course isn't completely right
-as they could reductions etc.
-
-This changes the check to just explicitly look at externals and constants.
-Note that reductions remain unhandled here, but we don't support codegen of
-boolean reductions today anyway.
-
-So at the time we do then this would have the be handled as well in lowering.
-
-Bootstrapped Regtested on aarch64-none-linux-gnu and no issues.
-
-Ok for master?
-
-Thanks,
-Tamar
-
-gcc/ChangeLog:
-
- PR tree-optimization/116817
- * tree-vect-patterns.cc (vect_recog_bool_pattern): Check for const or
- externals.
-
-gcc/testsuite/ChangeLog:
-
-PR tree-optimization/116817
- * g++.dg/vect/pr116817.cc: New test.
----
- gcc/testsuite/g++.dg/vect/pr116817.cc | 16 ++++++++++++++++
- gcc/tree-vect-patterns.cc | 5 ++++-
- 2 files changed, 20 insertions(+), 1 deletion(-)
- create mode 100644 gcc/testsuite/g++.dg/vect/pr116817.cc
-
-diff --git a/gcc/testsuite/g++.dg/vect/pr116817.cc b/gcc/testsuite/g++.dg/vect/pr116817.cc
-new file mode 100644
-index 00000000000..7e28982fb13
---- /dev/null
-+++ b/gcc/testsuite/g++.dg/vect/pr116817.cc
-@@ -0,0 +1,16 @@
-+/* { dg-do compile } */
-+/* { dg-additional-options "-O3" } */
-+
-+int main_ulData0;
-+unsigned *main_pSrcBuffer;
-+int main(void) {
-+ int iSrc = 0;
-+ bool bData0;
-+ for (; iSrc < 4; iSrc++) {
-+ if (bData0)
-+ main_pSrcBuffer[iSrc] = main_ulData0;
-+ else
-+ main_pSrcBuffer[iSrc] = 0;
-+ bData0 = !bData0;
-+ }
-+}
-diff --git a/gcc/tree-vect-patterns.cc b/gcc/tree-vect-patterns.cc
-index e7e877dd2adb55262822f1660f8d92b42d44e6d0..f0298b2ab97a1e7dd0d943340e1389c3c0fa796e 100644
---- a/gcc/tree-vect-patterns.cc
-+++ b/gcc/tree-vect-patterns.cc
-@@ -6062,12 +6062,15 @@ vect_recog_bool_pattern (vec_info *vinfo,
- if (get_vectype_for_scalar_type (vinfo, type) == NULL_TREE)
- return NULL;
-
-+ stmt_vec_info var_def_info = vinfo->lookup_def (var);
- if (check_bool_pattern (var, vinfo, bool_stmts))
- var = adjust_bool_stmts (vinfo, bool_stmts, type, stmt_vinfo);
- else if (integer_type_for_mask (var, vinfo))
- return NULL;
- else if (TREE_CODE (TREE_TYPE (var)) == BOOLEAN_TYPE
-- && !vect_get_internal_def (vinfo, var))
-+ && (!var_def_info
-+ || STMT_VINFO_DEF_TYPE (var_def_info) == vect_external_def
-+ || STMT_VINFO_DEF_TYPE (var_def_info) == vect_constant_def))
- {
- /* If the condition is already a boolean then manually convert it to a
- mask of the given integer type but don't set a vectype. */
^ permalink raw reply related [flat|nested] 18+ messages in thread
end of thread, other threads:[~2024-10-13 13:43 UTC | newest]
Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-09-25 2:21 [gentoo-commits] repo/gentoo:master commit in: sys-devel/gcc/files/ Sam James
-- strict thread matches above, loose matches on Subject: below --
2024-10-13 13:43 Conrad Kostecki
2024-10-04 8:27 Sam James
2024-06-10 15:41 Sam James
2024-05-26 21:31 Conrad Kostecki
2024-04-18 19:32 Conrad Kostecki
2024-03-07 18:39 Sam James
2023-11-22 12:08 Sam James
2023-10-27 3:32 Sam James
2023-05-31 16:37 Conrad Kostecki
2023-05-11 20:28 Conrad Kostecki
2023-04-14 1:06 Sam James
2022-08-30 22:57 Conrad Kostecki
2020-05-21 8:22 Sergei Trofimovich
2019-05-09 22:39 Sergei Trofimovich
2017-12-04 23:27 Sergei Trofimovich
2017-10-06 18:43 Andreas Hüttel
2017-10-02 22:23 Andreas Hüttel
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox