http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47530
Richard Henderson <rth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2011.02.09 17:36:18 AssignedTo|unassigned at gcc dot |rth at gcc dot gnu.org |gnu.org | Ever Confirmed|0 |1 --- Comment #1 from Richard Henderson <rth at gcc dot gnu.org> 2011-02-09 17:36:18 UTC --- Mine. We aren't representing these functions as setjmp because we have more detailed information about the control flow, and it's (eventually) explicitly represented. For instance, if a function has two transactions we know that the commit for the second transaction cannot branch to the restart of the first transaction. The problem here is that these extra edges are not inserted until after the tail-call discovery pass is run. Thankfully, no actual transform is actually performed at that spot. All we have to do later is clear the bit that the tail-call discovery pass set.