http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52000
Bug #: 52000 Summary: cross-jumping drops MEM attributes even when it makes no changes to the code Classification: Unclassified Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: rtl-optimization AssignedTo: unassig...@gcc.gnu.org ReportedBy: rsand...@gcc.gnu.org flow_find_cross_jump calls merge_memattrs for each pair of instructions that it was thinking of merging, regardless of whether the merge takes place. This can cause mem attributes to be dropped unnecessarily. See: http://gcc.gnu.org/ml/gcc/2012-01/msg00015.html for more discussion and context.