[Bug c/47530] [trans-mem] tail call optimization problem with _ITM_commitTransaction
rth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Feb 9 18:03:00 GMT 2011
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.
More information about the Gcc-bugs
mailing list