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
