From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 5437C3858D1E; Tue, 8 Feb 2022 14:42:46 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 5437C3858D1E From: "segher at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug rtl-optimization/104438] Combine optimization opportunity exposed after pro_and_epilogue Date: Tue, 08 Feb 2022 14:42:46 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: rtl-optimization X-Bugzilla-Version: 12.0 X-Bugzilla-Keywords: missed-optimization X-Bugzilla-Severity: normal X-Bugzilla-Who: segher 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: 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: Tue, 08 Feb 2022 14:42:46 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D104438 --- Comment #3 from Segher Boessenkool --- Also combine could work that late in principle: it can deal with hard registers, after all. But it would be a terrible idea. A single combine pass is expensive enough, we don't want to run it N times. Also, if you run combine more than once, you get odd effects, mostly because the results of splitters are combined back again. After *logue insertion all the simpler (more local!) optimisations are still run (DSE, DCE, if conversion, const prop, peep). It is unclear why the CFG wasn't straightened out here. Is the bb commented as "asm" actually asm? Then GCC will not see it is very cheap/small, yeah.=