From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 8230E3858D28; Mon, 6 Dec 2021 16:59:20 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 8230E3858D28 From: "hubicka at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug tree-optimization/103585] New: fatigue2 requires inlining of peridida to work well Date: Mon, 06 Dec 2021 16:59:20 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new 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: bug_id short_desc product version bug_status bug_severity priority component assigned_to reporter target_milestone Message-ID: 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 16:59:20 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D103585 Bug ID: 103585 Summary: fatigue2 requires inlining of peridida to work well Product: gcc Version: 12.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: hubicka at gcc dot gnu.org Target Milestone: --- fatigue2 regresses by 35% comparing -Ofast -march=3Dnative (zen) to -Ofast -march=3Dnative -fno-inline-functions-called once In generall inlining functions called once is not intended as important performance heuristics. Here we seem to miss some propagation that supports better vectorization. The important inline is: -Inlining perdida.constprop/105 size 703. - Called once from iztaccihuatl/17 2570 insns. - Parm map: -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -Updated mod-ref summary for iztaccihuatl/17 - loads: - Every base - stores: - Base 0: alias set 6 - Ref 0: alias set 6 - Every access - Side effects - Global memory read - Inlined into iztaccihuatl/17 which now has 3148 size -Overall time estimate: 270429.808105 weighted by profile: 0.000000 +Overall time estimate: 93562.854248 weighted by profile: 0.000000 So we estimate it to 703 instructions that is not small and the function inlined to is already quite large (3148 instructions). Before vectorizer the perdida is still 800 lines of gimple dump (w/o declarations) but then it simplifies to 630 at the last rerun of dse. iztaccihuatl is 3323 lines of gimple dump in .optimized of build with perdi= da inlined 2832 in build without perdida inlined, so 491 lines. So it looks l= ike indeed something propagates with we do not get from ipa-cp/modref propagati= on.=