From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id B934F385843E; Mon, 6 Dec 2021 17:15:26 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org B934F385843E From: "hubicka at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug tree-optimization/103585] fatigue2 requires inlining of peridida to work well Date: Mon, 06 Dec 2021 17:15:26 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: tree-optimization X-Bugzilla-Version: 12.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: hubicka at gcc dot gnu.org X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: cc Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: gcc-bugs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-bugs mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Dec 2021 17:15:26 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D103585 Jan Hubicka changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |mjambor at suse dot cz --- Comment #1 from Jan Hubicka --- It seems to me that we miss some ipa-cp propagation here. In particular th= ere are array descriptors: parm.326.span =3D 8;=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20 MEM [(struct dtype_type *)&parm.326 + 24B] =3D {};=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20 parm.326.dtype.elem_len =3D 8;=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20 parm.326.dtype.rank =3D 2;=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20 parm.326.dtype.type =3D 3;=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20 parm.326.dim[0].lbound =3D 1;=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20 parm.326.dim[0].ubound =3D 3;=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20 parm.326.dim[0].stride =3D 1;=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20 parm.326.dim[1].lbound =3D 1;=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20 parm.326.dim[1].ubound =3D 3;=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20 parm.326.dim[1].stride =3D 3;=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20 _245 =3D _243 * 9;=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20 _246 =3D &MEM [(real(kind=3D8)[0:] *)_44][_245];=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20 parm.326.data =3D _246;=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20 parm.326.offset =3D -4;=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20 and the resulting jump function ref offset 64: -4 [loc_time: 0, loc_size: 703, prop_time: 0, prop_s= ize: 703] ref offset 128: 8 [loc_time: 0, loc_size: 703, prop_time: 0, prop_s= ize: 703] ref offset 224: 2 [loc_time: 0, loc_size: 703, prop_time: 0, prop_s= ize: 703] ref offset 232: 3 [loc_time: 0, loc_size: 703, prop_time: 0, prop_s= ize: 703] ref offset 256: 8 [loc_time: 0, loc_size: 703, prop_time: 0, prop_s= ize: 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_s= ize: 702] ref offset 448: 3 [loc_time: 1, loc_size: 702, prop_time: 1, prop_s= ize: 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_s= ize: 702] ref offset 640: 3 [loc_time: 1, loc_size: 702, prop_time: 1, prop_s= ize: 702] here are 11 constants while there are 12 constant stores above.=20=20 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.=