commit:     05d9c70131be267bfe5b36e663acda8729da6456
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Apr 18 23:00:00 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Apr 18 23:03:26 2025 +0000
URL:        https://gitweb.gentoo.org/proj/gcc-patches.git/commit/?id=05d9c701

13.3.0: tweak backport for gimple match

Signed-off-by: Sam James <sam <AT> gentoo.org>

 ...h-Reject-non-ssa-name-min-invariants-in-g.patch | 346 +++++++++++++++++++++
 ...t-non-ssa-name-min-invariants-in-gimple_e.patch |  77 +++++
 13.3.0/gentoo/README.history                       |   5 +
 3 files changed, 428 insertions(+)

diff --git 
a/13.3.0/gentoo/32_all_Revert-match-Reject-non-ssa-name-min-invariants-in-g.patch
 
b/13.3.0/gentoo/32_all_Revert-match-Reject-non-ssa-name-min-invariants-in-g.patch
new file mode 100644
index 0000000..76f40ec
--- /dev/null
+++ 
b/13.3.0/gentoo/32_all_Revert-match-Reject-non-ssa-name-min-invariants-in-g.patch
@@ -0,0 +1,346 @@
+From 9dd5291b00687516217068d9e9500f59c42e906c Mon Sep 17 00:00:00 2001
+Message-ID: 
<9dd5291b00687516217068d9e9500f59c42e906c.1745017007.git....@gentoo.org>
+From: Sam James <[email protected]>
+Date: Fri, 18 Apr 2025 23:54:56 +0100
+Subject: [PATCH] Revert "match: Reject non-ssa name/min invariants in
+ gimple_extract [PR116412]"
+
+This reverts commit de622c307743cc03f45f1ba7b0c2f8df0b378206.
+
+Let's apply the version from master instead as it applies cleanly
+with our gimple split backports.
+---
+ gcc/gimple-match-head.cc                  | 6 ------
+ gcc/testsuite/gcc.dg/torture/pr116412-1.c | 6 ------
+ 2 files changed, 12 deletions(-)
+ delete mode 100644 gcc/testsuite/gcc.dg/torture/pr116412-1.c
+
+diff --git a/gcc/gimple-match-head.cc b/gcc/gimple-match-head.cc
+index b3e7792a8fae..21843d7870b3 100644
+--- a/gcc/gimple-match-head.cc
++++ b/gcc/gimple-match-head.cc
+@@ -945,9 +945,6 @@ gimple_extract (gimple *stmt, gimple_match_op *res_op,
+               || code == VIEW_CONVERT_EXPR)
+             {
+               tree op0 = TREE_OPERAND (gimple_assign_rhs1 (stmt), 0);
+-              /* op0 needs to be a SSA name or an min invariant. */
+-              if (TREE_CODE (op0) != SSA_NAME && !is_gimple_min_invariant 
(op0))
+-                return false;
+               res_op->set_op (code, type, valueize_op (op0));
+               return true;
+             }
+@@ -955,9 +952,6 @@ gimple_extract (gimple *stmt, gimple_match_op *res_op,
+             {
+               tree rhs1 = gimple_assign_rhs1 (stmt);
+               tree op0 = valueize_op (TREE_OPERAND (rhs1, 0));
+-              /* op0 needs to be a SSA name or an min invariant. */
+-              if (TREE_CODE (op0) != SSA_NAME && !is_gimple_min_invariant 
(op0))
+-                return false;
+               res_op->set_op (code, type, op0,
+                               TREE_OPERAND (rhs1, 1),
+                               TREE_OPERAND (rhs1, 2),
+diff --git a/gcc/testsuite/gcc.dg/torture/pr116412-1.c 
b/gcc/testsuite/gcc.dg/torture/pr116412-1.c
+deleted file mode 100644
+index 3bc26ecd8b83..000000000000
+--- a/gcc/testsuite/gcc.dg/torture/pr116412-1.c
++++ /dev/null
+@@ -1,6 +0,0 @@
+-/* { dg-do compile } */
+-double f(_Complex double a, _Complex double *b, int c)
+-{
+-  if (c) return __real__ a;
+-  return __real__ *b;
+-}
+
+base-commit: e8e9c25cbaee08f54b7be3051ba5c444a042a958
+prerequisite-patch-id: 4000f228fd3953eb9877fab7b9493cd86f6bc771
+prerequisite-patch-id: d61e09af01bb7358c1df6abf5d2c4b7849ab4676
+prerequisite-patch-id: 54a4cfb376547141937d7e321d7b4554c1e3afe7
+prerequisite-patch-id: f33957dc1b64edeb4a61c8cab68f8d3d83364a29
+prerequisite-patch-id: 7ce45196fe80b18512fadb50fc103fab4428d4fc
+prerequisite-patch-id: 91222abe57fbe0d242ef3c8c9d2b3c90434ca452
+prerequisite-patch-id: c121f50ebb95ace4d0265345daa0e7dc7b7f32e3
+prerequisite-patch-id: 10defea0d9b839e7a1dbacb051fa9228c4fb4625
+prerequisite-patch-id: 19438a1e2a41164df78f94a8c4ccd7720201b546
+prerequisite-patch-id: 6bc290482177e8770fcc08796a829b92a889b8c8
+prerequisite-patch-id: 51d285ed9ee0440cf1b3c7e5951ee7d72b8037ff
+prerequisite-patch-id: 6c9d8dee84130dc5654c6cdbe79cadc1c8c6ea01
+prerequisite-patch-id: c29ac39a9aa0b2f57b8630f94068de3c615c2aff
+prerequisite-patch-id: 39267d318bda1c6274f085b6ad0fa6033ba91775
+prerequisite-patch-id: aa5f357645bad3e273e9ad8c46909741b8645df5
+prerequisite-patch-id: 13e454b7c162f4fa60cc8f3a16923cb5b36e45b5
+prerequisite-patch-id: 1060dae5225651943f0407eba3dcce8086b8bde8
+prerequisite-patch-id: 26881a346914ff9c275ca61ab3a568c03cf9bbe9
+prerequisite-patch-id: 063c13e33fbdf446f7f28b26c88c60536ee56519
+prerequisite-patch-id: fe9ba680bbfc289ca761c3861cff1811e74eb4b0
+prerequisite-patch-id: 09d88e096bf253c83e6ebdc0b642826e9879942d
+prerequisite-patch-id: a84430c6349f1ce57b286dadec379dc165e67272
+prerequisite-patch-id: 1b83a611e9c183aef02cdba17bc27e1bf46b6a82
+prerequisite-patch-id: b350801c3eeeb3c80130687e8985f74188fc994f
+prerequisite-patch-id: 18ed2ed229344f5bdc6a533189452d61a7b9e0c6
+prerequisite-patch-id: 678cf62a5f3f39c471bf5edaedf6e59939294158
+prerequisite-patch-id: 73c6eff6ab4f6306617ae5899f8368ce59205084
+prerequisite-patch-id: 201acda3e16c581f13d9348fdfc4a4325c86ec78
+prerequisite-patch-id: ee35d1ccc78b44a74f630328981b8d9cf46e9468
+prerequisite-patch-id: 0c66af4c70e7009524b7d16c79599d6878f13d1e
+prerequisite-patch-id: 9b9f795264fb537d7a0b523529eb94bc2f28a912
+prerequisite-patch-id: e64a9e239738ff1af9753893372bb0fff907d8e6
+prerequisite-patch-id: edab03f98cda6e515b46641380a89363fb348f27
+prerequisite-patch-id: 28c6a5c9c0794adf089c24e5f59586631c5d6b4c
+prerequisite-patch-id: 1592351558023ed19f4d4cce450a7e5405c4c477
+prerequisite-patch-id: 1f6ceda2c5f0cc58d7792c113786168d26ded64e
+prerequisite-patch-id: ec4f5a1f5caad415297ed94fa087ac1b1794edec
+prerequisite-patch-id: accea82f9287261c369823223dfaf4fcb8b0b04b
+prerequisite-patch-id: 7f04c14f63aa50e011361fba1c2c0b179ae89926
+prerequisite-patch-id: 58c2460e281789a969f88192db772864c849b43a
+prerequisite-patch-id: 3d876e98b0d481d6c7e2b52a554af0453b09061e
+prerequisite-patch-id: fa6ade15971b59c537df92a80bac5db80c73eeda
+prerequisite-patch-id: b9dc7fcafec64cc21b25e6d562cbfd0da53ada13
+prerequisite-patch-id: 31e4c4ece4f81f8a56cb1dc9dd2c6a2b2b189e41
+prerequisite-patch-id: c714645ae913506bbbc8c6f830f34495f09887ad
+prerequisite-patch-id: 45ab2bc42bd191cfb931e411b7470a11d54c60b6
+prerequisite-patch-id: 3e4db23ce7ced910d59208fda696f160d443e39e
+prerequisite-patch-id: ed5b4dfd1b1553d5e2b865c4191a992c30c21132
+prerequisite-patch-id: dfee1a6a00ebca2d5cb7a2eee81a340cc89b7d49
+prerequisite-patch-id: fea03dfb92db40bca9bd07688d5d3d3c8ce896d1
+prerequisite-patch-id: 15025215942f585a037956d31abe7f2b373ee13f
+prerequisite-patch-id: 7263cf35bd75fbe9833a5f88de04ffdfcb5f253b
+prerequisite-patch-id: e285aa1cbf2a4e243d14e4cdff950f30a5789c71
+prerequisite-patch-id: a3a7f88920dcaec397cdce89680dd341da6b7d50
+prerequisite-patch-id: 7600dcc6bf999fab9607d4c2cba27189ee0564a5
+prerequisite-patch-id: 7402bf8989dddb67dd1559acca2e01aa83140123
+prerequisite-patch-id: cfea7aa3c6017fdbfc11f1a08806db122fc5295c
+prerequisite-patch-id: 9e2538496d48ee88c8bc71a455a8f7cbea90fd27
+prerequisite-patch-id: 76350633625ea8ebf6642d0e961fc95bcd395252
+prerequisite-patch-id: 48b1cf84bbb0b656161a73838e6238a4f3d38468
+prerequisite-patch-id: 8599a7e709b6fa302480edbf806f6ec9f954e23d
+prerequisite-patch-id: 50cb90d34e425f04b2d764fb65ec508aafcad2df
+prerequisite-patch-id: e98b69d7ea1c4dba058e00c57f4ff9e3e8fb2559
+prerequisite-patch-id: d28c36be561ed8fca4910a4cb321bc08b5b7708b
+prerequisite-patch-id: 7ea170b0341982c21e60e465e8c625d2960f2b16
+prerequisite-patch-id: 3982e9fbbf57e762ed696345f8bcad3c0a6e1086
+prerequisite-patch-id: 0305ac3424f89aa4aba5ce5435b8fd85943828c3
+prerequisite-patch-id: 969dd08cc76edf9b6102c4a4c01cbbca722597f2
+prerequisite-patch-id: a51e8bf8edeb57333f9c42336e2158600cb004b7
+prerequisite-patch-id: 7ccf51887ed93b633625b4694a59641c76890ef5
+prerequisite-patch-id: 4bfb12d943bd6ecb048488305e63e46817dec176
+prerequisite-patch-id: a82ff80cfd39451cfb765814559b967ff93f4c38
+prerequisite-patch-id: b7fc31e5e57057b6546b9ae65f51c1af8e905e50
+prerequisite-patch-id: 1937f4fd85004468bf2d5d0a148fbf2587a9705a
+prerequisite-patch-id: 62818f51c736d0fb646f742a0e479f3b858233c7
+prerequisite-patch-id: 11552ea3abae2eacb46f625bbc617117436849bf
+prerequisite-patch-id: 6afee34bc46041d68820e3f122a23fd24fc545c1
+prerequisite-patch-id: 6cbe24165de74cd2950e6b9c449285e2a9996a3a
+prerequisite-patch-id: f6f4f9d25d70c9c984601cb0a841ef0056a96f8e
+prerequisite-patch-id: 6beeb7f9dd28f462ce4edfc097c1035d0fdbf4b4
+prerequisite-patch-id: d6ccd36c9f0bfd88e0560d88e6d6290dc9cc2f6f
+prerequisite-patch-id: bcaa6733db1855ea6436baff8fc76a47906c2825
+prerequisite-patch-id: ff0a6dc87bbfcc75e2af148a774dcf63dd0bcf59
+prerequisite-patch-id: debdb70f1a346c3d4da763514cc147d9e870f28e
+prerequisite-patch-id: 88735a130a1e69a473780b06cf47f56055b1c436
+prerequisite-patch-id: ec0bdca250dcfca9de48472ebff0f91dda8261c2
+prerequisite-patch-id: 63402b6a4ee2eae396ec8ab14e95187ee9c469d2
+prerequisite-patch-id: 3414159afddcacb863eb6c22034f1e6c077a3efd
+prerequisite-patch-id: 84dafcbf3467b841fb4eb487e2c6578895e944eb
+prerequisite-patch-id: 6a70c983260d7aae40cf031a38874f75259b3b3b
+prerequisite-patch-id: 9eebe9af364b17be1e226eb2c7d8e0bb06231c81
+prerequisite-patch-id: cb12ebd5f640e96b04363ad3ce005ddeb0dd0723
+prerequisite-patch-id: b430927d8b00100c498c8dd8870727506d1dfe0d
+prerequisite-patch-id: f968419372ed5926fcb57beb4c7c72737481d952
+prerequisite-patch-id: 6ccb24a636aa485529d30df1641e344462fbc909
+prerequisite-patch-id: 032b9d6f8b184657a26307d41cfce6c615335309
+prerequisite-patch-id: bd1bf0d256e303c70a2dcde06623804a2cbdf28c
+prerequisite-patch-id: 156300b14794c263c3c432dde6d5024786795554
+prerequisite-patch-id: e8cb13f0278ae3bc29c9de4c3dc113885689d276
+prerequisite-patch-id: ff268f12fe17287fd7ad35d49872c4a58dfd3cae
+prerequisite-patch-id: 41d85acb48f0505a07c09e78227728ad6c14ca7b
+prerequisite-patch-id: 6fc18578f4297af3ed307d107ea7d219a4137857
+prerequisite-patch-id: 7e733c8718ac018ff9f561a4f6e15f4acc009044
+prerequisite-patch-id: aa1a67fca9e40c55a805f9823b126e0a8776f58b
+prerequisite-patch-id: c790af738adad0ed0952809d7d5858cb33efa903
+prerequisite-patch-id: 54b40b27df66648905ad03e31b28262497349ff6
+prerequisite-patch-id: 818c9dd45838b5a37c7470e6af7b4a4fef7899f0
+prerequisite-patch-id: 47fae69b45075e7a5e74ff5430d17192985d56ae
+prerequisite-patch-id: 98acde088eda4d69a67ec69bb23ab5609f14b4f8
+prerequisite-patch-id: fff1a6094f38821bc9530a1222d9db3545fff4bf
+prerequisite-patch-id: 2992ff74566833f01a9d5c5a02370d40a62e8149
+prerequisite-patch-id: b7bdccfd5ab045a7de1e87406e2e0c8a420831be
+prerequisite-patch-id: 1d406d1e2c1fc5c98e7b41216ab782209fdf7e11
+prerequisite-patch-id: 46ff326c8793791903bec66def9e98c5a5dbb72f
+prerequisite-patch-id: 650d8ab6f84909d14d1f9b2f54507c5115abcafa
+prerequisite-patch-id: 0bac576999fa0d969da86c0927fc341c0410e390
+prerequisite-patch-id: 11698f88600663672ecdb56482548eed99bfc544
+prerequisite-patch-id: 6444daa0bf5487ea735a3c56eb6d8ce35eaea1a0
+prerequisite-patch-id: 7363ebadd5fc24e0d0dc1e02a26d455ec343ea1e
+prerequisite-patch-id: a927d87484196cf40563167226f6354e9b084b82
+prerequisite-patch-id: 2477e04339f77befb8dedecf6a68b856fc4a7426
+prerequisite-patch-id: 331f4e188bbfc392de6fd1c9ad2f26dae92088ce
+prerequisite-patch-id: 5b48614ae4317c26283bea218d0c87e2fe2323ad
+prerequisite-patch-id: b7bed4280bfe2098f78ff3d612ce158466dc61c7
+prerequisite-patch-id: 2363d5b1c546e6487f009f8517c43e489e2ac912
+prerequisite-patch-id: 57dd7fedb604c3836a83554711d3b3b365861281
+prerequisite-patch-id: 6e3fb71fe560825a0355840a2b82e8f3665f7691
+prerequisite-patch-id: 9c59d3707980df2ecc974a2b0f33fc04cbce3c63
+prerequisite-patch-id: 854e8a7592f24f650706e9ee842b728315f86150
+prerequisite-patch-id: 96843265d6233d73319a857ea922bef352e65723
+prerequisite-patch-id: f24ba9138beb1103f26743250623864e94af31a6
+prerequisite-patch-id: ed65f7c0ab161f517d7e9a52bf659c96a499009b
+prerequisite-patch-id: 6970114ec1dc352ce3286e4864883d94d2c53e72
+prerequisite-patch-id: d9cccf7a6513eb12377aa033295563d714ec7e76
+prerequisite-patch-id: 7ac4059bf34412de9016fd9bd94b2fc08118f22e
+prerequisite-patch-id: 8e55da2dd496d68aca0e23caa7caf2e8aed4fcd2
+prerequisite-patch-id: b2a32567c61d16415e5f34d158118d59820c54f4
+prerequisite-patch-id: 8602ef48c789b5383cf601f4690cf361da033e43
+prerequisite-patch-id: 92450377cf2de31f9ac0595c8ccbf39bcc66089c
+prerequisite-patch-id: 37ebe40f9a712784fdf6eae589ca3b7f4e2eba89
+prerequisite-patch-id: 242fbf4814f72946650e5d1fc544ef7344ce1551
+prerequisite-patch-id: 1fd6b5d6f4dbc93018cf16fbb7476c9f2ddd937a
+prerequisite-patch-id: 176ba2d32cfcd316f7114686ba53530a48a98170
+prerequisite-patch-id: 9d33d24dfdacffb6b9c02bec16a99bd99f431750
+prerequisite-patch-id: eb933df4ae544de44b9d72b9786135ae3fbd3dc5
+prerequisite-patch-id: 5a718f2ad842a8338da577682e0aa79da82b24e2
+prerequisite-patch-id: 0e0eaa7590ebc1d71eb2092b967853364e95a3e6
+prerequisite-patch-id: f1d7f2c93482a2e592ed1fd528d6b699524e0eff
+prerequisite-patch-id: 04a4ddcad10e249f4e8cd96ade03c16997e8f83f
+prerequisite-patch-id: d4eb06f1933395d3e2a2d8e01819143fefdc1ab1
+prerequisite-patch-id: 7bfca3d72d913ab20ce4542ecc3a79b71ab4b34b
+prerequisite-patch-id: cec8674786e5709c1ba564312ae7ff7e63023406
+prerequisite-patch-id: 443db6f3f21ac47028dd548756fd3c5e2f25c589
+prerequisite-patch-id: cda72279d48792063744b4c519e3c6993f81885f
+prerequisite-patch-id: b01592891e2c41822dc61b1301175f4062ac3d8d
+prerequisite-patch-id: e186039cf949ca74ac9fe92deeb20e9e17002a23
+prerequisite-patch-id: 44663ba254e07b5d54ed49baea61ef2b220b33aa
+prerequisite-patch-id: e671b0a855da853426828d2ffdb3473436ff19bf
+prerequisite-patch-id: afeddd66e941b1ac625bb880b2486690f89878f7
+prerequisite-patch-id: 7a3c41238533c9cf8c159db069832f859798c3f2
+prerequisite-patch-id: 387d4ce4dd0793ea76c0e39065b86601bf62bc70
+prerequisite-patch-id: 34860adccc757aa463d52202ce0bf498aa6de4db
+prerequisite-patch-id: b68fe90bf65ac752a5fede52f6f22c935bfb3c2e
+prerequisite-patch-id: 089542ef54c958626cd52ae38aca0b7a6583ac48
+prerequisite-patch-id: 606fd2295d4a435682d44f41dff543880d72c6b0
+prerequisite-patch-id: 3ffad8cb09328205160313a8fddd18996cfd03c0
+prerequisite-patch-id: 03f8d2df058110dfbafc42f9b5676e6e448e6f1b
+prerequisite-patch-id: 615c37510c2d423ff2b699519bc73360ec42c4cc
+prerequisite-patch-id: e6bb243b318e54a228d13c73044d1990cff90274
+prerequisite-patch-id: 1ecd5357bbe3778efb77e2a1d36c19b4cbd88018
+prerequisite-patch-id: c8c690a9f0bb8d0da10c6c580b1ea572298b6f12
+prerequisite-patch-id: 5625d0da64401d3c4ed61700ac6f44ee17734cc9
+prerequisite-patch-id: 9587a58836badf710b6afed29aa8fb46469e7134
+prerequisite-patch-id: 08b614d746c685fe9201a3fddaa56b261725a9c7
+prerequisite-patch-id: e80e703932f3d360cd018550266c89f5037bb916
+prerequisite-patch-id: aa181fabbc78d656c00758c662dbec2ab3400bec
+prerequisite-patch-id: 679ff648f4069f60c25d8a5b9029dade17793f63
+prerequisite-patch-id: ad53fc07735fdcf14f4b046ceeca03db8758c9e7
+prerequisite-patch-id: 4cee7d8d5735802a6052bd90c9cdbf7bd4ed3980
+prerequisite-patch-id: 2adf47d0706c23431ff3b1f7e78bf5918b2f3567
+prerequisite-patch-id: 353bc5a2fcc179076073137766deda46ebb9ceec
+prerequisite-patch-id: 2e282c12c0bb8c8a74490fb77ddfafe0706f483e
+prerequisite-patch-id: 4932b89a2b8281fdcb7ee9d2614d705002186687
+prerequisite-patch-id: 194cc76655f0e1894d85100b87499d2c6b8f0f79
+prerequisite-patch-id: 6cbc30fa3b1c681c193baaec07e5d039cbb0e57b
+prerequisite-patch-id: 19161fe841569e007138c6a1d9c72a63fd833460
+prerequisite-patch-id: 698bd67ad1caaa862d66239a0be98c2e409db6e2
+prerequisite-patch-id: 5397622fd4a81b0c12f71f5c0f853e750d58714f
+prerequisite-patch-id: caabcccfd5dc523471a56af1fd97c18fdaa47b2b
+prerequisite-patch-id: e1cd7aecd0d76a07b38b7941020183d33590ba1d
+prerequisite-patch-id: 9132942115937a933f4fc1d8e10ffd4064a588a3
+prerequisite-patch-id: a9f8c23f38963000c24d79409fcdf41a75b902eb
+prerequisite-patch-id: 71c5b3d293c3c751115a8396b3da3ef379cc2bb1
+prerequisite-patch-id: 4b6bdf4fea45aa937f1948f0a31331902538c7d6
+prerequisite-patch-id: fbc41bd99c5398ecb18e0cd69208cc22f73c3519
+prerequisite-patch-id: 03e457be8ce0c5bba40258f0a05988214b0aa943
+prerequisite-patch-id: 611ca786e319c6eaad1220104b9c59956f3a737c
+prerequisite-patch-id: 37c85c06e7e6f71c5fcaf501b3c231ebdda0de25
+prerequisite-patch-id: 2950d7602c252ae6c52ab5eee625e099880ad4a3
+prerequisite-patch-id: 9f06a91013a6470c4d12d6b8d8cc9916db731206
+prerequisite-patch-id: b9b5fe94042334d549909e3fe0bfc89bbff47804
+prerequisite-patch-id: 9f5f9d934c9f3df5950b4a309c686990f6ad6c5f
+prerequisite-patch-id: cfdea290c851441658fb74fba2a6e01a2808753b
+prerequisite-patch-id: 6ee38d522d7f36f1677c044cfc92727ae8989d50
+prerequisite-patch-id: a0c291be10cfcde10af5a9f98085e366b27cd51d
+prerequisite-patch-id: 7269e54eaac036c1f56547e8126c21aa07965990
+prerequisite-patch-id: 743f1e5f91963fe3d39919415c206965fe3a6440
+prerequisite-patch-id: 424ef441392b7bde4e437f53824613b124d6dbd3
+prerequisite-patch-id: 8632e82489e773fb5249436e9e31e1065fd218f1
+prerequisite-patch-id: 74018ff327e6224cc8b49723ef3428b93f3fb213
+prerequisite-patch-id: 19237c0d4945c6de2f78bb203c433d489aa612d9
+prerequisite-patch-id: effcb0d6394408c9ff3b749520c45e86b595b172
+prerequisite-patch-id: 0172ae2c60bf591f075ab8494c3decb82b41c7b1
+prerequisite-patch-id: 1437321584a9c64af6745d17cbc47241344bcc03
+prerequisite-patch-id: e78ab6cbcc6fd294ffc30e07aa04f4ceb2d4fc79
+prerequisite-patch-id: 61621d78d2c4f94785ad379b18f780dd104f5bb3
+prerequisite-patch-id: 62c5daf26e76cc0214b4074add9eb0cf104937df
+prerequisite-patch-id: 43e88973169b8053bf951eabafc374e21eb772a4
+prerequisite-patch-id: abc2a406d74ff20b74a578f6ed5d82b7964ed4ef
+prerequisite-patch-id: b9fc489e4fa8105e1c26aa19eb4fe39219e878c0
+prerequisite-patch-id: 047db5e0bb9036899a99055bc19eef9fc04d2365
+prerequisite-patch-id: 3ba2f422b4b9db70becb0cb2383b5090c2a7a264
+prerequisite-patch-id: 8bafd081a2871875c21c928af872b4e2e370babb
+prerequisite-patch-id: 96a0f212a7a766dce87722c023ad314ec1ddc089
+prerequisite-patch-id: 217b76140030b0f2fe68b62a506668ab2d87e09e
+prerequisite-patch-id: 4a9ec2b685ad7898ecb11e0b5080c76bd66a88c2
+prerequisite-patch-id: c9e34f723bba04ebb7f0082d35b4878401ca4225
+prerequisite-patch-id: bc4e3b5d9e56150b67e246ca8243a16d8e81a7a3
+prerequisite-patch-id: 880a56e163a69583440c5a306db024b5d1a87e73
+prerequisite-patch-id: 405b8ded54e162c4bee8fd262797a646f6aa3a90
+prerequisite-patch-id: 8230b5c9e7bf22592ca0e7e24b1a9be62903e739
+prerequisite-patch-id: 389e09111729163dc93126f2e3f703d60cf99686
+prerequisite-patch-id: b67d2e019bec68385b8b8334b96f65496b02fdfe
+prerequisite-patch-id: 8b31569a2db2f8dc93b5c4950c734b9ff1d4ec10
+prerequisite-patch-id: d0b74f170c5e52fa9a68b25b060b1701dacae94b
+prerequisite-patch-id: dd954615469140f580d029ba81a5b77aad8fa29e
+prerequisite-patch-id: 8f66cfc254ffcffd6b1858af7d9bf64655c00b36
+prerequisite-patch-id: 93ab9804f3f6b7772147cc623b1d69d7be1e454a
+prerequisite-patch-id: 43f1234eced90d70f3ae9f606bffa48f24e3dd92
+prerequisite-patch-id: 3b38cdb1a0b08f40467facb70ca0d547dcff8163
+prerequisite-patch-id: eb0ed7947d2ba792d5ec1cdf0abb6c6d951afd45
+prerequisite-patch-id: af50aee54c356fc4455fe10b73d1fe63ebedc589
+prerequisite-patch-id: d5f8a47d5556e2fefcdcaed3acf0538179c8cf8f
+prerequisite-patch-id: a61e7edc4591a5dd4fbbad46ebefca9b0dd366ef
+prerequisite-patch-id: d0a3e49cbfc8b1008dd81c5dc774cc346511f43a
+prerequisite-patch-id: 217f44c419e22f75a042f2a8ef3c4a9d54526df8
+prerequisite-patch-id: fca77347bd5662931a48a5cd8831e4d81fcb3788
+prerequisite-patch-id: 8152afe30ef294e594f965a22ea8e9e6d80440aa
+prerequisite-patch-id: d3930b2ee1ea2752e7b18028c830a8d9612ffcc6
+prerequisite-patch-id: d1982b9ea82f575d723cd6ce8fd7f30bce266a9f
+prerequisite-patch-id: 403ba6fa34cdc2edb87f95f81fa8960a31e48170
+prerequisite-patch-id: 2602a564a4b8fb30a0145ad876395515db731db5
+prerequisite-patch-id: 73822021c209efca62480958d6c0982a4dcae9c6
+prerequisite-patch-id: 0b8b98a7382b63ce17c7ca3bfd4dc6ad59d6844c
+prerequisite-patch-id: 55f262e1d03052c46f2ec8218404173c87c220ea
+prerequisite-patch-id: 553bc879c60074fdd2221896cfc2c0ba1d142330
+prerequisite-patch-id: 6252c8110e5ccb1921e665231e078f2647f7ca44
+prerequisite-patch-id: 38e7acd0eafe65723775565c9f582af6774cf082
+prerequisite-patch-id: 1dde2b41a618209bde1a097104380a107b8f08fc
+prerequisite-patch-id: 7f6b5f1d9b57aa4b31894fa470bbcb780128e68c
+prerequisite-patch-id: b75427f17633a73e70c81aab993df11bcf530903
+prerequisite-patch-id: 3313c5e4f64130c2045f9c9ef80b0ae40aadef4f
+prerequisite-patch-id: 6fc511fa0ec824aed9871cb679b0b6b9ecb13183
+prerequisite-patch-id: 296fe91b963aa091f580f9f85350005b536bb796
+prerequisite-patch-id: de5f2c4a44ab2d3f898349db687614286bfffa7f
+prerequisite-patch-id: b4dc4f7b714d5f4b3796299446d7c22710a00acf
+prerequisite-patch-id: 53b4a07974ffac8d2e3b45c2379af5f8fcbb6835
+prerequisite-patch-id: 12f5f295d06fceb946e4ca558d28133859afb289
+prerequisite-patch-id: 8161319cbdd3163dc32c9ccfa8d40bb3a356bbc5
+prerequisite-patch-id: d7a6747c5ed93f25940e8088cf616edfe19d9bed
+prerequisite-patch-id: c2fa0cf3850f239b06833884e774a2427150b96f
+prerequisite-patch-id: dd6a6e3d7104e745a39b56d222869217f4fcf5f4
+prerequisite-patch-id: bb4f6c0100db86ef1b3d96f16f9a6f289d520783
+prerequisite-patch-id: 4e17f6b465f87cd015b19e9890a9348a4700fe30
+prerequisite-patch-id: a90a84b76b13ea9d5b0839412893b8ca7c81923a
+prerequisite-patch-id: 8619c75413d9dbcd0ec7ab042dd99a19990e7a99
+prerequisite-patch-id: ad1902dd37f1c4affbc788c0eeb740426a79cde1
+prerequisite-patch-id: 22f3d65eacf7faf4ca640fc8aeab5bc198b84756
+prerequisite-patch-id: 7d1161aa0c17298f35cc5311bc16ce09e17e406c
+prerequisite-patch-id: b78967f514ed500e0817c01000e255cbdb71273e
+prerequisite-patch-id: 368c2487edab1d95f4cf3d7afa44b3d5fd6cf6c9
+prerequisite-patch-id: 002b0474e9725459039fc305e799c9dcf052ee68
+prerequisite-patch-id: 1bbfbc90f9fd8e85fabce81ddb38b28a51d2c45b
+prerequisite-patch-id: daab4fe626801f253a4d3a7fd4a88db276751186
+prerequisite-patch-id: 678ac52a47649ea6712227032fdcba869b30e71a
+prerequisite-patch-id: 07fcba7a0210098e023d303440d945720b2f2813
+prerequisite-patch-id: 75dce98230c3c470ca0fe01f93ba8567e9f11506
+prerequisite-patch-id: 778a46802fb72c7cf1e884978513e0f070278cb0
+-- 
+2.49.0
+

diff --git 
a/13.3.0/gentoo/93_all_match-Reject-non-ssa-name-min-invariants-in-gimple_e.patch
 
b/13.3.0/gentoo/93_all_match-Reject-non-ssa-name-min-invariants-in-gimple_e.patch
new file mode 100644
index 0000000..95d7677
--- /dev/null
+++ 
b/13.3.0/gentoo/93_all_match-Reject-non-ssa-name-min-invariants-in-gimple_e.patch
@@ -0,0 +1,77 @@
+From c7b76a076cb2c6ded7ae208464019b04cb0531a2 Mon Sep 17 00:00:00 2001
+Message-ID: 
<c7b76a076cb2c6ded7ae208464019b04cb0531a2.1745017147.git....@gentoo.org>
+From: Andrew Pinski <[email protected]>
+Date: Mon, 19 Aug 2024 08:06:36 -0700
+Subject: [PATCH] match: Reject non-ssa name/min invariants in gimple_extract
+ [PR116412]
+
+After the conversion for phiopt's conditional operand
+to use maybe_push_res_to_seq, it was found that gimple_extract
+will extract out from REALPART_EXPR/IMAGPART_EXPR/VCE and BIT_FIELD_REF,
+a memory load. But that extraction was not needed as memory loads are not
+simplified in match and simplify. So gimple_extract should return false
+in those cases.
+
+Changes since v1:
+* Move the rejection to gimple_extract from factor_out_conditional_operation.
+
+Bootstrapped and tested on x86_64-linux-gnu.
+
+       PR tree-optimization/116412
+
+gcc/ChangeLog:
+
+       * gimple-match-exports.cc (gimple_extract): Return false if op0
+       was not a SSA name nor a min invariant for 
REALPART_EXPR/IMAGPART_EXPR/VCE
+       and BIT_FIELD_REF.
+
+gcc/testsuite/ChangeLog:
+
+       * gcc.dg/torture/pr116412-1.c: New test.
+
+Signed-off-by: Andrew Pinski <[email protected]>
+---
+ gcc/gimple-match-exports.cc               | 6 ++++++
+ gcc/testsuite/gcc.dg/torture/pr116412-1.c | 6 ++++++
+ 2 files changed, 12 insertions(+)
+ create mode 100644 gcc/testsuite/gcc.dg/torture/pr116412-1.c
+
+diff --git a/gcc/gimple-match-exports.cc b/gcc/gimple-match-exports.cc
+index 15d54b7d8438..86e40100899a 100644
+--- a/gcc/gimple-match-exports.cc
++++ b/gcc/gimple-match-exports.cc
+@@ -740,6 +740,9 @@ gimple_extract (gimple *stmt, gimple_match_op *res_op,
+               || code == VIEW_CONVERT_EXPR)
+             {
+               tree op0 = TREE_OPERAND (gimple_assign_rhs1 (stmt), 0);
++              /* op0 needs to be a SSA name or an min invariant. */
++              if (TREE_CODE (op0) != SSA_NAME && !is_gimple_min_invariant 
(op0))
++                return false;
+               res_op->set_op (code, type, valueize_op (op0));
+               return true;
+             }
+@@ -747,6 +750,9 @@ gimple_extract (gimple *stmt, gimple_match_op *res_op,
+             {
+               tree rhs1 = gimple_assign_rhs1 (stmt);
+               tree op0 = valueize_op (TREE_OPERAND (rhs1, 0));
++              /* op0 needs to be a SSA name or an min invariant. */
++              if (TREE_CODE (op0) != SSA_NAME && !is_gimple_min_invariant 
(op0))
++                return false;
+               res_op->set_op (code, type, op0,
+                               TREE_OPERAND (rhs1, 1),
+                               TREE_OPERAND (rhs1, 2),
+diff --git a/gcc/testsuite/gcc.dg/torture/pr116412-1.c 
b/gcc/testsuite/gcc.dg/torture/pr116412-1.c
+new file mode 100644
+index 000000000000..3bc26ecd8b83
+--- /dev/null
++++ b/gcc/testsuite/gcc.dg/torture/pr116412-1.c
+@@ -0,0 +1,6 @@
++/* { dg-do compile } */
++double f(_Complex double a, _Complex double *b, int c)
++{
++  if (c) return __real__ a;
++  return __real__ *b;
++}
+-- 
+2.49.0
+

diff --git a/13.3.0/gentoo/README.history b/13.3.0/gentoo/README.history
index d17cd25..a99da58 100644
--- a/13.3.0/gentoo/README.history
+++ b/13.3.0/gentoo/README.history
@@ -1,3 +1,8 @@
+3      18 April 2025
+
+       + 32_all_Revert-match-Reject-non-ssa-name-min-invariants-in-g.patch
+       + 93_all_match-Reject-non-ssa-name-min-invariants-in-gimple_e.patch
+
 2      29 Nov 2024
 
        - 93_all_PR115917-ada-lto.patch

Reply via email to