https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122979
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jakub at gcc dot gnu.org
Keywords|needs-bisection |
--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Bisection points to r16-4186-g14010053dac93f64e34b4b71804bec7ec984b595
Pedantically the testcase is definitely not valid C, look e.g. at the
(int(*)[][3])b
cast where int b[1]; and the testcase is full of that. But it is then unused.
Anyway, the above mentioned commit in *.optimized dump just changes some bb
counts:
--- pr122979.c.273t.optimized_ 2025-12-05 06:48:14.104891172 -0500
+++ pr122979.c.273t.optimized 2025-12-05 06:48:40.770157697 -0500
@@ -81,7 +81,7 @@ ah:
else
goto <bb 8>; [11.00%]
- <bb 7> [local count: 52559662]:
+ <bb 7> [local count: 477815112]:
u_19 = d;
_20 = u_19 & 5;
u_21 = m[_20];
@@ -165,7 +165,7 @@ int ai.constprop (int[2] * ac, int[3][2]
else
goto <bb 6>; [11.00%]
- <bb 5> [local count: 105119324]:
+ <bb 5> [local count: 955630224]:
_14 = d.4_6 & 5;
u_15 = m[_14];
_51 = (unsigned int) o.1_49;
@@ -232,7 +232,7 @@ int ad (int * ab)
else
goto <bb 4>; [11.00%]
- <bb 3> [local count: 105119324]:
+ <bb 3> [local count: 955630224]:
u_12 = d;
_1 = u_12 & 5;
u_13 = m[_1];
@@ -340,7 +340,7 @@ ah:
else
goto <bb 8>; [11.00%]
- <bb 7> [local count: 52559662]:
+ <bb 7> [local count: 477815112]:
u_32 = d;
_34 = u_32 & 5;
u_35 = m[_34];
@@ -425,7 +425,7 @@ int ai (int ab, int[2] * ac, int[3][2] *
else
goto <bb 6>; [11.00%]
- <bb 5> [local count: 105119324]:
+ <bb 5> [local count: 955630224]:
_33 = d.4_5 & 5;
u_34 = m[_33];
_52 = (unsigned int) o.1_50;
@@ -579,7 +579,7 @@ ar:
else
goto <bb 6>; [89.00%]
- <bb 6> [local count: 955630224]:
+ <bb 6> [local count: 17375095370]:
g[0] = 2;
goto <bb 3>; [100.00%]
and that then seems to affect the LRA decisions in the am function.