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

--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> ---
Created attachment 51699
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=51699&action=edit
hack to make forwarders

This is an overly simple attempt to make forwarders which works to restore the
DCE.

Given this it probably makes sense to at least move the early merge_phi pass
after CD-DCE.  That doesn't help this testcase since regular CFG cleanup
performs the merging in our case.  It's remove_forwarder_block will perform
this.

An alternative band-aid would be to resolve the regression by not running
CFG cleanup after DSE (we're failing to run it when we empty a BB as well,
something we might want to fix instead).

Undoing PHI merging might be also a good thing to perform before going out of
SSA.  And merge_phi itself might do this as a 2nd step.

Reply via email to