------- Comment #9 from jamborm at gcc dot gnu dot org 2010-09-22 11:00 ------- I have just examined the Fortran testcase more thoroughly and to my surprise I realized SRA did not create any new statements on i686. It merely changed statements
res = *arg_1(D); into res$yr = MEM[(struct bar &)arg_1(D)]; and <retval> = res; into MEM[(struct bar *)&<retval>] = res$yr; both by simply changing the LHS and RHS. Needless to say, the locations of the statements remain unchanged. Locations for the new memory references have been taken from the statements. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45505