[lno] ICE in coalesce_abnormal_edges, at tree-outof-ssa.c:645

Andrew MacLeod amacleod@redhat.com
Mon Apr 19 16:38:00 GMT 2004


On Sun, 2004-04-18 at 18:58, Zdenek Dvorak wrote: 
> Hello,
> 
> > Because its an abnormal edge, there is nowhere to insert a copy to
> > resolve the issue. 
> 
> Did someone try whether solving this by just coalescing as much as
> possible and fixing up the remaining abnormal edges by inserting the
> copies to temporary at the end of their source block and loads from the
> temporary at their end harms the code?
We do coalesce everything possible. Its when we cant coalesce we run
into the problem. 


> 
> It obviously might spoil the code if there were too many such stores
> emited, but it seems to me that it might well turn that this is rare, in
> which case it would be much nicer solution than the current one where we
> have to check & update the SSA_NAME_OCCURS_IN_ABNORMAL_EDGE everywhere.
> 
I hate the SSA_NAME_OCCURS_IN_ABNORMAL_EDGE stuff.  We introduced it
because it was happening with great regularity. copy propagation caused
it to happen a lot. I beleive some other optimizations made it happen
quite frequently as well. 

I had toyed with the idea of adding an option which would generate the
required temporaries, but when I went to do so, I ran into a
problem/complication. I forget what it was, and I simply never got back
to it. Generally speaking, is a bad thing and best avoided. :-)

Andrew







More information about the Gcc mailing list