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

--- Comment #6 from rguenther at suse dot de <rguenther at suse dot de> ---
On Fri, 16 Dec 2016, jakub at gcc dot gnu.org wrote:

> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78812
> 
> --- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
> (In reply to Richard Biener from comment #4)
> > Can't we insert on the edge and commit edge insertions late?  Or simply
> > split the block for this case?
> 
> Well, for the case of calls there typically are 2 edges, not just one (the
> abnormal one and normal fallthru), except for noreturn throwing calls.
> So inserting on the edges would usually mean undoing the hoisting.
> Note if the expression doesn't contain MEM (and isn't clobbered by the call,
> but that should just affect hard registers), hoisting it before the call is
> just fine.

But then sth is wrong with the dataflow problem ... maybe it somehow
assumes that a signle outgoing edge is always fallthru (and not EH)?
That is, inserting on EH edges is "tricky" at best...

Reply via email to