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.

Reply via email to