[Bug rtl-optimization/51771] New: trans-mem: abnormal edges get lost or corrupted
torvald at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Jan 5 23:44:00 GMT 2012
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51771
Bug #: 51771
Summary: trans-mem: abnormal edges get lost or corrupted
Classification: Unclassified
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: rtl-optimization
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: torvald@gcc.gnu.org
CC: aldyh@gcc.gnu.org, rth@gcc.gnu.org
For each call to libitm we create an abnormal edge back to the transaction's
begin, which models that libitm could restart. Those edges seem to be intact
during the middle-end but get lost or corrupted somewhere after that. This
leads to miscompilation of STAMP Genome on x86_64, for example.
For 4.7, we can mark _ITM_beginTransaction as returns-twice. This seems to
work but isn't optimal, so we should fix the handling of abnormal edges for
4.8.
More information about the Gcc-bugs
mailing list