------- Comment #5 from rth at gcc dot gnu dot org  2009-12-07 20:31 -------
There appears to be a phase ordering problem.

We duplicate a block in create_block_for_threading, which leaves users
of various SSA names dangling waiting on a subsequent update_ssa.

Before we get to that update_ssa we cleanup the cfg (as we must -- ssa
update can't handle unreachable blocks).  In the process of deleting
the unreachable blocks we propagate the definition of a PHI which we 
are removing into its use in a DEBUG stmt.

The problem being that the debug stmt in question isn't supposed to be
referencing that PHI anymore.  That debug stmt is in the new duplicate
block and is supposed to be referencing the new PHI.


-- 


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

Reply via email to