https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111293
--- Comment #2 from Andrew Macleod <amacleod at redhat dot com> --- It seems like we set 'e' to 3 immediately at the start: <bb 2> [local count: 1073741824]: e = 3; goto <bb 10>; [100.00%] and it is never changed again. However, when we load from 'e' later in the IL <bb 3> [local count: 9485263241]: e.1_6 = e; we simply get varying. Is some pass suppose to propagate this? This reminds me of a few other regression PRs where we no longer propagate known values from loads from memory into ssa-names. If we knew that e.1_6 was '3', then the call to foo would be folded away as never executable.