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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P2
                 CC|                            |jamborm at gcc dot gnu.org

--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> ---
So SRA decomposes

  resD.3963.levelD.3901 = res$level_55;
  resD.3965 = resD.3963;
  resD.3963 ={v} {CLOBBER};
  D.3958 = resD.3965;
  resD.3965 ={v} {CLOBBER};

to just

  res$level_26 = res$level_55;
  resD.3963.levelD.3901 = res$level_26;
  resD.3965 = resD.3963;
  SR.14_27 = res$level_26;
  resD.3963 ={v} {CLOBBER};
  MEM <integer(kind=4)D.8> [(struct tem_path_type *)&D.3958] = SR.14_27;
  resD.3965 ={v} {CLOBBER};

but D.3958 is later indexed

  _11 = &D.3958.nodeD.3903[_10];
  _gfortran_transfer_integer_write (&dt_parm.0D.3961, _11, 8);

we have

  struct tem_path_type resD.3963;
  struct tem_path_type resD.3965;
  struct tem_path_type D.3958;

the question is how "complete" 'tem_path_type' is.

-fno-tree-sra "fixes" it

Reply via email to