https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108356
--- Comment #1 from Andrew Macleod <amacleod at redhat dot com> --- >From ccp2 : Simulating block 2 Visiting statement: c.2_1 = c; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Whereas in GCC12 I see: Simulating block 2 Visiting statement: c.2_1 = c; which is likely CONSTANT Lattice value changed to CONSTANT 3. Adding SSA edges to worklist. marking stmt to be not simulated again So we use to pick up that the memory load produces a 3 in CCP, but we no longer do. I'm not sure how that specified ranger cache patch causes this? ISTR some other PR where we aren't picking up a constant from a memory load as well.