https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103585
Jan Hubicka <hubicka at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |mjambor at suse dot cz --- Comment #1 from Jan Hubicka <hubicka at gcc dot gnu.org> --- It seems to me that we miss some ipa-cp propagation here. In particular there are array descriptors: parm.326.span = 8; MEM <c_char[8]> [(struct dtype_type *)&parm.326 + 24B] = {}; parm.326.dtype.elem_len = 8; parm.326.dtype.rank = 2; parm.326.dtype.type = 3; parm.326.dim[0].lbound = 1; parm.326.dim[0].ubound = 3; parm.326.dim[0].stride = 1; parm.326.dim[1].lbound = 1; parm.326.dim[1].ubound = 3; parm.326.dim[1].stride = 3; _245 = _243 * 9; _246 = &MEM <real(kind=8)[0:]> [(real(kind=8)[0:] *)_44][_245]; parm.326.data = _246; parm.326.offset = -4; and the resulting jump function ref offset 64: -4 [loc_time: 0, loc_size: 703, prop_time: 0, prop_size: 703] ref offset 128: 8 [loc_time: 0, loc_size: 703, prop_time: 0, prop_size: 703] ref offset 224: 2 [loc_time: 0, loc_size: 703, prop_time: 0, prop_size: 703] ref offset 232: 3 [loc_time: 0, loc_size: 703, prop_time: 0, prop_size: 703] ref offset 256: 8 [loc_time: 0, loc_size: 703, prop_time: 0, prop_size: 703] ref offset 320: 1 [loc_time: 248, loc_size: 697, prop_time: 248, prop_size: 697] ref offset 384: 1 [loc_time: 1, loc_size: 702, prop_time: 1, prop_size: 702] ref offset 448: 3 [loc_time: 1, loc_size: 702, prop_time: 1, prop_size: 702] ref offset 512: 3 [loc_time: 245, loc_size: 700, prop_time: 245, prop_size: 700] ref offset 576: 1 [loc_time: 1, loc_size: 702, prop_time: 1, prop_size: 702] ref offset 640: 3 [loc_time: 1, loc_size: 702, prop_time: 1, prop_size: 702] here are 11 constants while there are 12 constant stores above. I guess the MEM one is missing. Call is: call perdida (dt, lambda, mu, yield_stress, R_infinity, b, X_infinity, & gamma, eta, plastic_strain_threshold, stress_tensor(:,:,n), & strain_tensor(:,:,n), plastic_strain_tensor(:,:,n), & strain_rate_tensor(:,:,n), accumulated_plastic_strain(n), & back_stress_tensor(:,:,n), isotropic_hardening_stress(n), & damage(n), failure_threshold, crack_closure_parameter) Similar situation repats iself multiple times.