aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2023-11-29 20:15:37 +0000
committerSam James <sam@gentoo.org>2023-11-29 20:15:49 +0000
commit27a129d42cd0e4a96d591d5ccadf5d220f441e06 (patch)
treed43b17166f5648fb9e35c5cb09666c6128c5c4d4
parent14.0.0: cut patchset 9 (diff)
downloadgcc-patches-27a129d42cd0e4a96d591d5ccadf5d220f441e06.tar.gz
gcc-patches-27a129d42cd0e4a96d591d5ccadf5d220f441e06.tar.bz2
gcc-patches-27a129d42cd0e4a96d591d5ccadf5d220f441e06.zip
13.2.0: rebase patches
U 76_all_match.pd-don-t-emit-label-if-not-needed.patch U 77_all_match.pd-Remove-commented-out-line-pragmas-unless-vv.patch U 78_all_match.pd-CSE-the-dump-output-check.patch U 79_all_genmatch-split-shared-code-to-gimple-match-exports.c.patch U 80_all_match.pd-automatically-partition-match.cc-files.patch U 81_all_match.pd-Use-splits-in-makefile-and-make-configurabl.patch + 82_all_Makefile.in-clean-up-match.pd-related-dependencies.patch Signed-off-by: Sam James <sam@gentoo.org>
-rw-r--r--13.2.0/gentoo/76_all_match.pd-don-t-emit-label-if-not-needed.patch24
-rw-r--r--13.2.0/gentoo/77_all_match.pd-Remove-commented-out-line-pragmas-unless-vv.patch10
-rw-r--r--13.2.0/gentoo/78_all_match.pd-CSE-the-dump-output-check.patch16
-rw-r--r--13.2.0/gentoo/79_all_genmatch-split-shared-code-to-gimple-match-exports.c.patch18
-rw-r--r--13.2.0/gentoo/80_all_match.pd-automatically-partition-match.cc-files.patch36
-rw-r--r--13.2.0/gentoo/81_all_match.pd-Use-splits-in-makefile-and-make-configurabl.patch28
-rw-r--r--13.2.0/gentoo/82_all_Makefile.in-clean-up-match.pd-related-dependencies.patch60
-rw-r--r--13.2.0/gentoo/README.history10
8 files changed, 136 insertions, 66 deletions
diff --git a/13.2.0/gentoo/76_all_match.pd-don-t-emit-label-if-not-needed.patch b/13.2.0/gentoo/76_all_match.pd-don-t-emit-label-if-not-needed.patch
index ac9efe6..9d702eb 100644
--- a/13.2.0/gentoo/76_all_match.pd-don-t-emit-label-if-not-needed.patch
+++ b/13.2.0/gentoo/76_all_match.pd-don-t-emit-label-if-not-needed.patch
@@ -1,9 +1,9 @@
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109927#c21
-From 6894f8e1fafe211a5f14ecbb534c92c2b78beb3a Mon Sep 17 00:00:00 2001
+From 30f78d42a215686cab9c7276076f11e5ea08341d Mon Sep 17 00:00:00 2001
From: Tamar Christina <tamar.christina@arm.com>
Date: Fri, 5 May 2023 13:35:17 +0100
-Subject: [PATCH 1/6] match.pd: don't emit label if not needed
+Subject: [PATCH 02/14] match.pd: don't emit label if not needed
This is a small QoL codegen improvement for match.pd to not emit labels when
they are not needed. The codegen is nice and there is a small (but consistent)
@@ -20,10 +20,10 @@ gcc/ChangeLog:
1 file changed, 22 insertions(+), 8 deletions(-)
diff --git a/gcc/genmatch.cc b/gcc/genmatch.cc
-index 4fab4135347..638606b2502 100644
+index 98b429a9d0bb..0c5a19aca8ed 100644
--- a/gcc/genmatch.cc
+++ b/gcc/genmatch.cc
-@@ -3352,6 +3352,7 @@ dt_simplify::gen_1 (FILE *f, int indent, bool gimple, operand *result)
+@@ -3354,6 +3354,7 @@ dt_simplify::gen_1 (FILE *f, int indent, bool gimple, operand *result)
char local_fail_label[256];
snprintf (local_fail_label, 256, "next_after_fail%u", ++fail_label_cnt);
fail_label = local_fail_label;
@@ -31,7 +31,7 @@ index 4fab4135347..638606b2502 100644
/* Analyze captures and perform early-outs on the incoming arguments
that cover cases we cannot handle. */
-@@ -3366,6 +3367,7 @@ dt_simplify::gen_1 (FILE *f, int indent, bool gimple, operand *result)
+@@ -3368,6 +3369,7 @@ dt_simplify::gen_1 (FILE *f, int indent, bool gimple, operand *result)
fprintf_indent (f, indent,
"if (TREE_SIDE_EFFECTS (_p%d)) goto %s;\n",
i, fail_label);
@@ -39,7 +39,7 @@ index 4fab4135347..638606b2502 100644
if (verbose >= 1)
warning_at (as_a <expr *> (s->match)->ops[i]->location,
"forcing toplevel operand to have no "
-@@ -3381,6 +3383,7 @@ dt_simplify::gen_1 (FILE *f, int indent, bool gimple, operand *result)
+@@ -3383,6 +3385,7 @@ dt_simplify::gen_1 (FILE *f, int indent, bool gimple, operand *result)
fprintf_indent (f, indent,
"if (TREE_SIDE_EFFECTS (captures[%d])) "
"goto %s;\n", i, fail_label);
@@ -47,7 +47,7 @@ index 4fab4135347..638606b2502 100644
if (verbose >= 1)
warning_at (cinfo.info[i].c->location,
"forcing captured operand to have no "
-@@ -3423,7 +3426,10 @@ dt_simplify::gen_1 (FILE *f, int indent, bool gimple, operand *result)
+@@ -3425,7 +3428,10 @@ dt_simplify::gen_1 (FILE *f, int indent, bool gimple, operand *result)
}
if (s->kind == simplify::SIMPLIFY)
@@ -59,7 +59,7 @@ index 4fab4135347..638606b2502 100644
fprintf_indent (f, indent, "if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) "
"fprintf (dump_file, \"%s ",
-@@ -3496,9 +3502,12 @@ dt_simplify::gen_1 (FILE *f, int indent, bool gimple, operand *result)
+@@ -3498,9 +3504,12 @@ dt_simplify::gen_1 (FILE *f, int indent, bool gimple, operand *result)
"res_op->resimplify (%s, valueize);\n",
!e->force_leaf ? "lseq" : "NULL");
if (e->force_leaf)
@@ -75,7 +75,7 @@ index 4fab4135347..638606b2502 100644
}
}
else if (result->type == operand::OP_CAPTURE
-@@ -3554,9 +3563,12 @@ dt_simplify::gen_1 (FILE *f, int indent, bool gimple, operand *result)
+@@ -3556,9 +3565,12 @@ dt_simplify::gen_1 (FILE *f, int indent, bool gimple, operand *result)
continue;
if (cinfo.info[i].result_use_count
> cinfo.info[i].match_use_count)
@@ -91,7 +91,7 @@ index 4fab4135347..638606b2502 100644
}
for (unsigned j = 0; j < e->ops.length (); ++j)
{
-@@ -3607,6 +3619,7 @@ dt_simplify::gen_1 (FILE *f, int indent, bool gimple, operand *result)
+@@ -3609,6 +3621,7 @@ dt_simplify::gen_1 (FILE *f, int indent, bool gimple, operand *result)
{
fprintf_indent (f, indent, "if (!_r)\n");
fprintf_indent (f, indent, " goto %s;\n", fail_label);
@@ -99,7 +99,7 @@ index 4fab4135347..638606b2502 100644
}
}
}
-@@ -3647,7 +3660,8 @@ dt_simplify::gen_1 (FILE *f, int indent, bool gimple, operand *result)
+@@ -3649,7 +3662,8 @@ dt_simplify::gen_1 (FILE *f, int indent, bool gimple, operand *result)
}
indent -= 2;
fprintf_indent (f, indent, "}\n");
@@ -110,5 +110,5 @@ index 4fab4135347..638606b2502 100644
}
--
-2.40.1
+2.43.0
diff --git a/13.2.0/gentoo/77_all_match.pd-Remove-commented-out-line-pragmas-unless-vv.patch b/13.2.0/gentoo/77_all_match.pd-Remove-commented-out-line-pragmas-unless-vv.patch
index ebf93bc..fb50871 100644
--- a/13.2.0/gentoo/77_all_match.pd-Remove-commented-out-line-pragmas-unless-vv.patch
+++ b/13.2.0/gentoo/77_all_match.pd-Remove-commented-out-line-pragmas-unless-vv.patch
@@ -1,10 +1,10 @@
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109927#c21
-From 972d5156126df1241e25e1a66518d4903f9564b3 Mon Sep 17 00:00:00 2001
+From 1e714dddc3646b484014ec6636b3d80910536b4b Mon Sep 17 00:00:00 2001
From: Tamar Christina <tamar.christina@arm.com>
Date: Fri, 5 May 2023 13:36:01 +0100
-Subject: [PATCH 2/6] match.pd: Remove commented out line pragmas unless -vv is
- used.
+Subject: [PATCH 03/14] match.pd: Remove commented out line pragmas unless -vv
+ is used.
genmatch currently outputs commented out line directives that have no effect
but the compiler still has to parse only to discard.
@@ -24,7 +24,7 @@ gcc/ChangeLog:
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gcc/genmatch.cc b/gcc/genmatch.cc
-index 638606b2502..2533698bd9e 100644
+index 0c5a19aca8ed..8937c76369cb 100644
--- a/gcc/genmatch.cc
+++ b/gcc/genmatch.cc
@@ -209,7 +209,7 @@ output_line_directive (FILE *f, location_t location,
@@ -37,5 +37,5 @@ index 638606b2502..2533698bd9e 100644
development it's right now more convenient to have line information
from the generated file. Still keep the directives as comment for now
--
-2.40.1
+2.43.0
diff --git a/13.2.0/gentoo/78_all_match.pd-CSE-the-dump-output-check.patch b/13.2.0/gentoo/78_all_match.pd-CSE-the-dump-output-check.patch
index 311493d..8dda55a 100644
--- a/13.2.0/gentoo/78_all_match.pd-CSE-the-dump-output-check.patch
+++ b/13.2.0/gentoo/78_all_match.pd-CSE-the-dump-output-check.patch
@@ -1,9 +1,9 @@
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109927#c21
-From 43a48baef66cd06d8058668ecb2da6190054c163 Mon Sep 17 00:00:00 2001
+From c256e2c80e56c4e015d8d7ca50fa01a6ed98a1eb Mon Sep 17 00:00:00 2001
From: Tamar Christina <tamar.christina@arm.com>
Date: Fri, 5 May 2023 13:36:43 +0100
-Subject: [PATCH 3/6] match.pd: CSE the dump output check.
+Subject: [PATCH 04/14] match.pd: CSE the dump output check.
This is a small improvement in QoL codegen for match.pd to save time not
re-evaluating the condition for printing debug information in every function.
@@ -26,10 +26,10 @@ gcc/ChangeLog:
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/gcc/genmatch.cc b/gcc/genmatch.cc
-index 2533698bd9e..b2e01dee2fa 100644
+index 8937c76369cb..a0643aa37308 100644
--- a/gcc/genmatch.cc
+++ b/gcc/genmatch.cc
-@@ -3431,7 +3431,7 @@ dt_simplify::gen_1 (FILE *f, int indent, bool gimple, operand *result)
+@@ -3433,7 +3433,7 @@ dt_simplify::gen_1 (FILE *f, int indent, bool gimple, operand *result)
needs_label = true;
}
@@ -38,7 +38,7 @@ index 2533698bd9e..b2e01dee2fa 100644
"fprintf (dump_file, \"%s ",
s->kind == simplify::SIMPLIFY
? "Applying pattern" : "Matching expression");
-@@ -3892,6 +3892,8 @@ decision_tree::gen (FILE *f, bool gimple)
+@@ -3894,6 +3894,8 @@ decision_tree::gen (FILE *f, bool gimple)
}
fprintf (f, ")\n{\n");
@@ -47,7 +47,7 @@ index 2533698bd9e..b2e01dee2fa 100644
s->s->gen_1 (f, 2, gimple, s->s->s->result);
if (gimple)
fprintf (f, " return false;\n");
-@@ -3937,6 +3939,8 @@ decision_tree::gen (FILE *f, bool gimple)
+@@ -3939,6 +3941,8 @@ decision_tree::gen (FILE *f, bool gimple)
fprintf (f, ", tree _p%d", i);
fprintf (f, ")\n");
fprintf (f, "{\n");
@@ -56,7 +56,7 @@ index 2533698bd9e..b2e01dee2fa 100644
dop->gen_kids (f, 2, gimple, 0);
if (gimple)
fprintf (f, " return false;\n");
-@@ -4046,6 +4050,8 @@ write_predicate (FILE *f, predicate_id *p, decision_tree &dt, bool gimple)
+@@ -4048,6 +4052,8 @@ write_predicate (FILE *f, predicate_id *p, decision_tree &dt, bool gimple)
gimple ? ", tree (*valueize)(tree) ATTRIBUTE_UNUSED" : "");
/* Conveniently make 'type' available. */
fprintf_indent (f, 2, "const tree type = TREE_TYPE (t);\n");
@@ -66,5 +66,5 @@ index 2533698bd9e..b2e01dee2fa 100644
if (!gimple)
fprintf_indent (f, 2, "if (TREE_SIDE_EFFECTS (t)) return false;\n");
--
-2.40.1
+2.43.0
diff --git a/13.2.0/gentoo/79_all_genmatch-split-shared-code-to-gimple-match-exports.c.patch b/13.2.0/gentoo/79_all_genmatch-split-shared-code-to-gimple-match-exports.c.patch
index 3d011cc..f52ea7a 100644
--- a/13.2.0/gentoo/79_all_genmatch-split-shared-code-to-gimple-match-exports.c.patch
+++ b/13.2.0/gentoo/79_all_genmatch-split-shared-code-to-gimple-match-exports.c.patch
@@ -1,9 +1,9 @@
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109927#c21
-From db6e98b2677c4c3e08756902827e922d6da0f80b Mon Sep 17 00:00:00 2001
+From d5e12d6bf0a763f37e99eef5d579d9a6417e067c Mon Sep 17 00:00:00 2001
From: Tamar Christina <tamar.christina@arm.com>
Date: Fri, 5 May 2023 13:37:49 +0100
-Subject: [PATCH 4/6] genmatch: split shared code to gimple-match-exports.cc
+Subject: [PATCH 05/14] genmatch: split shared code to gimple-match-exports.cc
In preparation for automatically splitting match.pd files I split off the
non-static helper functions that are shared between the match.pd functions off
@@ -39,7 +39,7 @@ gcc/ChangeLog:
create mode 100644 gcc/gimple-match-exports.cc
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
-index b8abc9a70b7..f5f189916c1 100644
+index 06d192fa9ed8..406856acde1c 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -223,6 +223,7 @@ libgcov-util.o-warn = -Wno-error
@@ -68,10 +68,10 @@ index b8abc9a70b7..f5f189916c1 100644
s-match: build/genmatch$(build_exeext) $(srcdir)/match.pd cfn-operators.pd
diff --git a/gcc/genmatch.cc b/gcc/genmatch.cc
-index b2e01dee2fa..09548bdac29 100644
+index a0643aa37308..5320d4110082 100644
--- a/gcc/genmatch.cc
+++ b/gcc/genmatch.cc
-@@ -3955,7 +3955,7 @@ decision_tree::gen (FILE *f, bool gimple)
+@@ -3957,7 +3957,7 @@ decision_tree::gen (FILE *f, bool gimple)
if (! has_kids_p)
{
if (gimple)
@@ -80,7 +80,7 @@ index b2e01dee2fa..09548bdac29 100644
"gimple_simplify (gimple_match_op*, gimple_seq*,\n"
" tree (*)(tree), code_helper,\n"
" const tree");
-@@ -3978,7 +3978,7 @@ decision_tree::gen (FILE *f, bool gimple)
+@@ -3980,7 +3980,7 @@ decision_tree::gen (FILE *f, bool gimple)
/* Then generate the main entry with the outermost switch and
tail-calls to the split-out functions. */
if (gimple)
@@ -91,7 +91,7 @@ index b2e01dee2fa..09548bdac29 100644
" code_helper code, const tree type");
diff --git a/gcc/gimple-match-exports.cc b/gcc/gimple-match-exports.cc
new file mode 100644
-index 00000000000..7aeb4ddb152
+index 000000000000..7aeb4ddb1524
--- /dev/null
+++ b/gcc/gimple-match-exports.cc
@@ -0,0 +1,1253 @@
@@ -1349,7 +1349,7 @@ index 00000000000..7aeb4ddb152
+ return get_conditional_internal_fn (associated_internal_fn (cfn, type));
+}
diff --git a/gcc/gimple-match-head.cc b/gcc/gimple-match-head.cc
-index ec603f9d043..b08cd891a13 100644
+index ec603f9d043c..b08cd891a13a 100644
--- a/gcc/gimple-match-head.cc
+++ b/gcc/gimple-match-head.cc
@@ -48,1089 +48,8 @@ along with GCC; see the file COPYING3. If not see
@@ -2556,5 +2556,5 @@ index ec603f9d043..b08cd891a13 100644
- return get_conditional_internal_fn (associated_internal_fn (cfn, type));
-}
--
-2.40.1
+2.43.0
diff --git a/13.2.0/gentoo/80_all_match.pd-automatically-partition-match.cc-files.patch b/13.2.0/gentoo/80_all_match.pd-automatically-partition-match.cc-files.patch
index 4b2fbe9..6cee0ce 100644
--- a/13.2.0/gentoo/80_all_match.pd-automatically-partition-match.cc-files.patch
+++ b/13.2.0/gentoo/80_all_match.pd-automatically-partition-match.cc-files.patch
@@ -1,9 +1,9 @@
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109927#c21
-From c9477580a0c0cb746aec323407ab6103518b8830 Mon Sep 17 00:00:00 2001
+From 0b9341cec30004016c4a66013882ea983a9e3810 Mon Sep 17 00:00:00 2001
From: Tamar Christina <tamar.christina@arm.com>
Date: Fri, 5 May 2023 13:38:50 +0100
-Subject: [PATCH 5/6] match.pd: automatically partition *-match.cc files.
+Subject: [PATCH 06/14] match.pd: automatically partition *-match.cc files.
Following on from Richi's RFC[1] this is another attempt to split up match.pd
into multiple gimple-match and generic-match files. This version is fully
@@ -111,7 +111,7 @@ gcc/ChangeLog:
1 file changed, 190 insertions(+), 36 deletions(-)
diff --git a/gcc/genmatch.cc b/gcc/genmatch.cc
-index 09548bdac29..c5938148712 100644
+index 5320d4110082..6cb05d006e8d 100644
--- a/gcc/genmatch.cc
+++ b/gcc/genmatch.cc
@@ -183,6 +183,33 @@ fprintf_indent (FILE *f, unsigned int indent, const char *format, ...)
@@ -195,7 +195,7 @@ index 09548bdac29..c5938148712 100644
void print (FILE *f = stderr);
decision_tree () { root = new dt_node (dt_node::DT_NODE, NULL); }
-@@ -3830,7 +3888,7 @@ sinfo_hashmap_traits::equal_keys (const key_type &v,
+@@ -3832,7 +3890,7 @@ sinfo_hashmap_traits::equal_keys (const key_type &v,
tree. */
void
@@ -204,7 +204,7 @@ index 09548bdac29..c5938148712 100644
{
sinfo_map_t si;
-@@ -3859,11 +3917,14 @@ decision_tree::gen (FILE *f, bool gimple)
+@@ -3861,11 +3919,14 @@ decision_tree::gen (FILE *f, bool gimple)
output_line_directive (stderr, s->s->s->result->location);
}
@@ -220,7 +220,7 @@ index 09548bdac29..c5938148712 100644
"%s (gimple_match_op *res_op, gimple_seq *seq,\n"
" tree (*valueize)(tree) ATTRIBUTE_UNUSED,\n"
" const tree ARG_UNUSED (type), tree *ARG_UNUSED "
-@@ -3871,27 +3932,28 @@ decision_tree::gen (FILE *f, bool gimple)
+@@ -3873,27 +3934,28 @@ decision_tree::gen (FILE *f, bool gimple)
s->fname);
else
{
@@ -255,7 +255,7 @@ index 09548bdac29..c5938148712 100644
fprintf_indent (f, 2, "const bool debug_dump = "
"dump_file && (dump_flags & TDF_FOLDING);\n");
s->s->gen_1 (f, 2, gimple, s->s->s->result);
-@@ -3921,8 +3983,12 @@ decision_tree::gen (FILE *f, bool gimple)
+@@ -3923,8 +3985,12 @@ decision_tree::gen (FILE *f, bool gimple)
&& e->operation->kind != id_base::CODE))
continue;
@@ -269,7 +269,7 @@ index 09548bdac29..c5938148712 100644
"gimple_simplify_%s (gimple_match_op *res_op,"
" gimple_seq *seq,\n"
" tree (*valueize)(tree) "
-@@ -3931,13 +3997,13 @@ decision_tree::gen (FILE *f, bool gimple)
+@@ -3933,13 +3999,13 @@ decision_tree::gen (FILE *f, bool gimple)
"ARG_UNUSED (type)\n",
e->operation->id);
else
@@ -286,7 +286,7 @@ index 09548bdac29..c5938148712 100644
fprintf (f, "{\n");
fprintf_indent (f, 2, "const bool debug_dump = "
"dump_file && (dump_flags & TDF_FOLDING);\n");
-@@ -3954,18 +4020,22 @@ decision_tree::gen (FILE *f, bool gimple)
+@@ -3956,18 +4022,22 @@ decision_tree::gen (FILE *f, bool gimple)
with compiler warnings, by generating a simple stub. */
if (! has_kids_p)
{
@@ -313,7 +313,7 @@ index 09548bdac29..c5938148712 100644
fprintf (f, "{\n");
if (gimple)
fprintf (f, " return false;\n");
-@@ -3975,20 +4045,24 @@ decision_tree::gen (FILE *f, bool gimple)
+@@ -3977,20 +4047,24 @@ decision_tree::gen (FILE *f, bool gimple)
continue;
}
@@ -342,7 +342,7 @@ index 09548bdac29..c5938148712 100644
fprintf (f, "{\n");
if (gimple)
-@@ -4043,11 +4117,11 @@ decision_tree::gen (FILE *f, bool gimple)
+@@ -4045,11 +4119,11 @@ decision_tree::gen (FILE *f, bool gimple)
void
write_predicate (FILE *f, predicate_id *p, decision_tree &dt, bool gimple)
{
@@ -359,7 +359,7 @@ index 09548bdac29..c5938148712 100644
/* Conveniently make 'type' available. */
fprintf_indent (f, 2, "const tree type = TREE_TYPE (t);\n");
fprintf_indent (f, 2, "const bool debug_dump = "
-@@ -4068,9 +4142,13 @@ write_header (FILE *f, const char *head)
+@@ -4070,9 +4144,13 @@ write_header (FILE *f, const char *head)
{
fprintf (f, "/* Generated automatically by the program `genmatch' from\n");
fprintf (f, " a IL pattern matching and simplification description. */\n");
@@ -374,7 +374,7 @@ index 09548bdac29..c5938148712 100644
}
-@@ -5213,6 +5291,30 @@ round_alloc_size (size_t s)
+@@ -5215,6 +5293,30 @@ round_alloc_size (size_t s)
}
@@ -405,7 +405,7 @@ index 09548bdac29..c5938148712 100644
/* The genmatch generator program. It reads from a pattern description
and outputs GIMPLE or GENERIC IL matching and simplification routines. */
-@@ -5227,25 +5329,44 @@ main (int argc, char **argv)
+@@ -5229,25 +5331,44 @@ main (int argc, char **argv)
return 1;
bool gimple = true;
@@ -454,7 +454,7 @@ index 09548bdac29..c5938148712 100644
line_table = XCNEW (class line_maps);
linemap_init (line_table, 0);
line_table->reallocator = xrealloc;
-@@ -5292,10 +5413,28 @@ main (int argc, char **argv)
+@@ -5294,10 +5415,28 @@ main (int argc, char **argv)
/* Parse ahead! */
parser p (r, gimple);
@@ -486,7 +486,7 @@ index 09548bdac29..c5938148712 100644
/* Go over all predicates defined with patterns and perform
lowering and code generation. */
-@@ -5315,7 +5454,10 @@ main (int argc, char **argv)
+@@ -5317,7 +5456,10 @@ main (int argc, char **argv)
if (verbose == 2)
dt.print (stderr);
@@ -498,7 +498,7 @@ index 09548bdac29..c5938148712 100644
}
/* Lower the main simplifiers and generate code for them. */
-@@ -5332,7 +5474,19 @@ main (int argc, char **argv)
+@@ -5334,7 +5476,19 @@ main (int argc, char **argv)
if (verbose == 2)
dt.print (stderr);
@@ -520,5 +520,5 @@ index 09548bdac29..c5938148712 100644
/* Finalize. */
cpp_finish (r, NULL);
--
-2.40.1
+2.43.0
diff --git a/13.2.0/gentoo/81_all_match.pd-Use-splits-in-makefile-and-make-configurabl.patch b/13.2.0/gentoo/81_all_match.pd-Use-splits-in-makefile-and-make-configurabl.patch
index 4a8bc46..8834897 100644
--- a/13.2.0/gentoo/81_all_match.pd-Use-splits-in-makefile-and-make-configurabl.patch
+++ b/13.2.0/gentoo/81_all_match.pd-Use-splits-in-makefile-and-make-configurabl.patch
@@ -1,9 +1,9 @@
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109927#c21
-From 3da0a672baeb52c5f7b736b47b2cc5f79ada86de Mon Sep 17 00:00:00 2001
+From 7ad6dc24f067e3ecf608143274c36b1eec51ba93 Mon Sep 17 00:00:00 2001
From: Tamar Christina <tamar.christina@arm.com>
Date: Fri, 5 May 2023 13:42:17 +0100
-Subject: [PATCH 6/6] match.pd: Use splits in makefile and make configurable.
+Subject: [PATCH 07/14] match.pd: Use splits in makefile and make configurable.
This updates the build system to split up match.pd files into chunks of 10.
This also introduces a new flag --with-matchpd-partitions which can be used to
@@ -31,7 +31,7 @@ gcc/ChangeLog:
3 files changed, 89 insertions(+), 22 deletions(-)
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
-index f5f189916c1..8e22857ed57 100644
+index 406856acde1c..f0c34d00ecbc 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -214,6 +214,14 @@ rtl-ssa-warn = $(STRICT_WARN)
@@ -153,7 +153,7 @@ index f5f189916c1..8e22857ed57 100644
case-cfn-macros.h \
cfn-operators.pd omp-device-properties.h
diff --git a/gcc/configure b/gcc/configure
-index c7b26d1927d..843fd5449dd 100755
+index dec2eca1a453..2c124f1b0337 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -838,6 +838,7 @@ enable_gcov
@@ -172,7 +172,7 @@ index c7b26d1927d..843fd5449dd 100755
enable___cxa_atexit
enable_decimal_float
enable_fixed_point
-@@ -1826,6 +1828,9 @@ Optional Packages:
+@@ -1832,6 +1834,9 @@ Optional Packages:
--with-stack-clash-protection-guard-size=size
Set the default stack clash protection guard size
for specific targets as a power of two in bytes.
@@ -182,7 +182,7 @@ index c7b26d1927d..843fd5449dd 100755
--with-dwarf2 force the default debug format to be DWARF 2 (or
later)
--with-specs=SPECS add SPECS to driver command-line processing
-@@ -7889,6 +7894,26 @@ cat >>confdefs.h <<_ACEOF
+@@ -7895,6 +7900,26 @@ cat >>confdefs.h <<_ACEOF
_ACEOF
@@ -209,26 +209,26 @@ index c7b26d1927d..843fd5449dd 100755
# Enable __cxa_atexit for C++.
# Check whether --enable-__cxa_atexit was given.
if test "${enable___cxa_atexit+set}" = set; then :
-@@ -19825,7 +19850,7 @@ else
+@@ -19848,7 +19873,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
--#line 19828 "configure"
-+#line 19853 "configure"
+-#line 19851 "configure"
++#line 19876 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
-@@ -19931,7 +19956,7 @@ else
+@@ -19954,7 +19979,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
--#line 19934 "configure"
-+#line 19959 "configure"
+-#line 19957 "configure"
++#line 19982 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
diff --git a/gcc/configure.ac b/gcc/configure.ac
-index 09082e8ccae..de5e3aef2c8 100644
+index c0d067ec2716..526ce0665a3e 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -921,6 +921,21 @@ fi
@@ -254,5 +254,5 @@ index 09082e8ccae..de5e3aef2c8 100644
AC_ARG_ENABLE(__cxa_atexit,
[AS_HELP_STRING([--enable-__cxa_atexit], [enable __cxa_atexit for C++])],
--
-2.40.1
+2.43.0
diff --git a/13.2.0/gentoo/82_all_Makefile.in-clean-up-match.pd-related-dependencies.patch b/13.2.0/gentoo/82_all_Makefile.in-clean-up-match.pd-related-dependencies.patch
new file mode 100644
index 0000000..950bfba
--- /dev/null
+++ b/13.2.0/gentoo/82_all_Makefile.in-clean-up-match.pd-related-dependencies.patch
@@ -0,0 +1,60 @@
+From 88d7963056355a28adb9fc1b805752d422c2619e Mon Sep 17 00:00:00 2001
+From: Alexander Monakov <amonakov@ispras.ru>
+Date: Fri, 5 May 2023 19:46:25 +0300
+Subject: [PATCH 08/14] Makefile.in: clean up match.pd-related dependencies
+
+Clean up confusing changes from the recent refactoring for
+parallel match.pd build.
+
+gimple-match-head.o is not built. Remove related flags adjustment.
+
+Autogenerated gimple-match-N.o files do not depend on
+gimple-match-exports.cc.
+
+{gimple,generic)-match-auto.h only depend on the prerequisites of the
+corresponding s-{gimple,generic}-match stamp file, not any .cc file.
+
+gcc/ChangeLog:
+
+ * Makefile.in: (gimple-match-head.o-warn): Remove.
+ (GIMPLE_MATCH_PD_SEQ_SRC): Do not depend on
+ gimple-match-exports.cc.
+ (gimple-match-auto.h): Only depend on s-gimple-match.
+ (generic-match-auto.h): Likewise.
+
+(cherry picked from commit 31c70a7daa368767f0f58e0389deb2c69d9e14fd)
+---
+ gcc/Makefile.in | 9 +++------
+ 1 file changed, 3 insertions(+), 6 deletions(-)
+
+diff --git a/gcc/Makefile.in b/gcc/Makefile.in
+index f0c34d00ecbc..fe3af5c8008c 100644
+--- a/gcc/Makefile.in
++++ b/gcc/Makefile.in
+@@ -230,7 +230,6 @@ gengtype-lex.o-warn = -Wno-error
+ libgcov-util.o-warn = -Wno-error
+ libgcov-driver-tool.o-warn = -Wno-error
+ libgcov-merge-tool.o-warn = -Wno-error
+-gimple-match-head.o-warn = -Wno-unused
+ gimple-match-exports.o-warn = -Wno-unused
+ dfp.o-warn = -Wno-strict-aliasing
+
+@@ -2670,12 +2669,10 @@ s-tm-texi: build/genhooks$(build_exeext) $(srcdir)/doc/tm.texi.in
+ false; \
+ fi
+
+-$(GIMPLE_MATCH_PD_SEQ_SRC): s-gimple-match gimple-match-head.cc \
+- gimple-match-exports.cc; @true
+-gimple-match-auto.h: s-gimple-match gimple-match-head.cc \
+- gimple-match-exports.cc; @true
++$(GIMPLE_MATCH_PD_SEQ_SRC): s-gimple-match gimple-match-head.cc; @true
++gimple-match-auto.h: s-gimple-match; @true
+ $(GENERIC_MATCH_PD_SEQ_SRC): s-generic-match generic-match-head.cc; @true
+-generic-match-auto.h: s-generic-match generic-match-head.cc; @true
++generic-match-auto.h: s-generic-match; @true
+
+ s-gimple-match: build/genmatch$(build_exeext) \
+ $(srcdir)/match.pd cfn-operators.pd
+--
+2.43.0
+
diff --git a/13.2.0/gentoo/README.history b/13.2.0/gentoo/README.history
index 4b18bf0..0e54b6b 100644
--- a/13.2.0/gentoo/README.history
+++ b/13.2.0/gentoo/README.history
@@ -1,3 +1,13 @@
+11 ?? ??? 2023
+
+ U 76_all_match.pd-don-t-emit-label-if-not-needed.patch
+ U 77_all_match.pd-Remove-commented-out-line-pragmas-unless-vv.patch
+ U 78_all_match.pd-CSE-the-dump-output-check.patch
+ U 79_all_genmatch-split-shared-code-to-gimple-match-exports.c.patch
+ U 80_all_match.pd-automatically-partition-match.cc-files.patch
+ U 81_all_match.pd-Use-splits-in-makefile-and-make-configurabl.patch
+ + 82_all_Makefile.in-clean-up-match.pd-related-dependencies.patch
+
10 28 Oct 2023
U 90_all_PR54179_genemit-Split-insn-emit.cc-into-ten-files.patch