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

--- Comment #5 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
Looking into optimized dump, I wonder why IPA-SRA is rpelacing some of
parameters passed by reference but not all of them:

-__attribute__((fn spec (". w w w w w w w w w w w w w ")))
-double dco (int & restrict l, int & restrict m, int & restrict kx, int &
restrict ky, int & restrict kz, int & restrict lp, int & restrict mp,
double[15625] * restrict fpqr, double[0:] * restrict zlm, int[0:] * restrict
lmf, int[0:] * restrict lmx, int[0:] * restrict lmy, int[0:] * restrict lmz)
+double dco.isra (int ISRA.1, int ISRA.1, int & restrict kx, int & restrict ky,
int & restrict kz, int ISRA.2, int ISRA.3, double[15625] * restrict fpqr,
double[0:] * restrict zlm, int[0:] * restrict lmf, int[0:] * restrict lmx,
int[0:] * restrict lmy, int[0:] * restrict lmz)


I would expect kx,ky and kz to be also replaced.

-void formdr.constprop (double[0:] * restrict g, double[0:] * restrict g2,
double[0:] * restrict xin, double[0:] * restrict yin, double[0:] * restrict
zin, int & restrict mini, int & restrict maxi, int & restrict minj, int &
restrict maxj, logical(kind=4) & restrict norm)
+void formdr.constprop (double[0:] * restrict g, double[0:] * restrict g2,
double[0:] * restrict xin, double[0:] * restrict yin, double[0:] * restrict
zin, int & restrict minj, int & restrict maxj)

similarly here we drop some parameters by we do not seem to do the replacement
for rest of them.

Reply via email to