http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51117

--- Comment #7 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-12-09 
16:09:48 UTC ---
Created attachment 26034
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=26034
gcc47-pr51117-sink.patch

So far untested attempt to sink clobbers if a BB with all EH pred edges and a
single EH succ edge, ending with internal throwing RESX contains other than
that just CLOBBER stmts (and optionally debug stmts).
Such BBs force us to immediately rethrow with no actual code in between, when
the clobber stmts are sunk into the successor, we can actually ehcleanup those.
Had to tweak a little bit the conflict detection in the expander for that
though, without that it would think the vars still conflict on the incoming
edge (even when no actual insns that might touch memory appear before the
clobber).

Reply via email to