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