https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97292

--- Comment #14 from Jan Hubicka <hubicka at gcc dot gnu.org> ---

So this really seems that the alias set 6 is not conflicting with  alias sets
11 or 13. active_cell is
struct active_cell_iterator active_cell;
and the code around seems SRA injected
  MEM[(struct TriaRawIterator *)&active_cell] ={v} {CLOBBER};                   
  MEM <struct DoFHandler *> [(struct DoFCellAccessor *)&active_cell] =
cell$dof_handler_253;
  MEM <int> [(struct DoFCellAccessor *)&active_cell + 8B] =
cell$8$present_level_242;
  MEM <int> [(struct DoFCellAccessor *)&active_cell + 12B] =
cell$8$present_index_245;
  MEM <const struct Triangulation *> [(struct DoFCellAccessor *)&active_cell +
16B] = cell$8$tria_244;
  operator++ (&active_cell);                                                    
  MEM[(struct TriaRawIterator *)&D.17355].accessor = MEM[(const struct
TriaRawIterator &)&active_cell].accessor;

and we CSE is acrss the call

Honza

Reply via email to