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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
           Assignee|unassigned at gcc dot gnu.org      |rguenth at gcc dot 
gnu.org

--- Comment #7 from Richard Biener <rguenth at gcc dot gnu.org> ---
I think the IL is somewhat buggy in the control transfer instruction not being
indicated as reading from global memory.  I think it should act similar to
a GIMPLE_RETURN where we now force a VUSE.  There's a related bug about
GIMPLE_RESX not having virtual operands and the issue DSE has with this.

Now, that would mean that for the original testcase a fix would be simply
to consider all throwing points uses (for global memory).  I have a patch
to do that, leaving the IL issue (the throwing division case and RESX)
unfixed.  Note that RTL DSE happily removes the first store as well, so
I had to fix that as well.

Reply via email to