https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110177

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Hmm, in ccp1, GCC 11.3 does:
Visiting statement:
# RANGE [0, 0] NONZERO 0
b_33 = (short intD.25) _11;
which is likely CONSTANT
Applying pattern match.pd:3405, gimple-match.c:27041
Applying pattern match.pd:3322, gimple-match.c:26980
Match-and-simplified (short int) _11 to _10
Lattice value changed to CONSTANT 0.  Adding SSA edges to worklist.
marking stmt to be not simulated again

Visiting statement:
if (b_33 != 0)
which is likely CONSTANT
Adding destination of edge (4 -> 6) to worklist
marking stmt to be not simulated again



While in GCC 12+ does:
Visiting statement:
b_33 = (short intD.25) _11;
which is likely CONSTANT
Applying pattern match.pd:3730, gimple-match.cc:69683
Applying pattern match.pd:3647, gimple-match.cc:69622
Match-and-simplified (short int) _11 to _10
Lattice value changed to CONSTANT _10.  Adding SSA edges to worklist.
marking stmt to be not simulated again

Visiting statement:
if (b_33 != 0)
which is likely CONSTANT
Matching expression match.pd:2118, generic-match.cc:693
Matching expression match.pd:2121, generic-match.cc:753
Matching expression match.pd:2128, generic-match.cc:776
Adding destination of edge (4 -> 5) to worklist
Adding destination of edge (4 -> 6) to worklist

Reply via email to