From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id A191E384B0C1; Tue, 21 Apr 2020 17:33:03 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A191E384B0C1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1587490383; bh=ybGFo0d3WxNWwTq1rWV7Kbf95yr0/Tl0/E+JV8ap8Q0=; h=From:To:Subject:Date:In-Reply-To:References:From; b=Y+mX42MtZ4FnWQZK3Tw+wbOHieqJMkBdSUha9CDcDywQrw1w1pg25gsmQN8k7/t7j 1zPBWG/YQYYPZp2ScaqoR7SNyI2FS6eJ4/qqXhviZ8r8sm529SaQgdhj//bFQRa1C3 FHc6fZVby5I0obU2ybRtzDzLd+3My67UZ2VdN4yQ= From: "rguenth at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug middle-end/91512] [10 Regression] Fortran compile time regression. Date: Tue, 21 Apr 2020 17:33:03 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: middle-end X-Bugzilla-Version: 10.0 X-Bugzilla-Keywords: compile-time-hog, memory-hog X-Bugzilla-Severity: normal X-Bugzilla-Who: rguenth at gcc dot gnu.org X-Bugzilla-Status: WAITING X-Bugzilla-Resolution: X-Bugzilla-Priority: P4 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: 10.0 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, 21 Apr 2020 17:33:03 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D91512 --- Comment #28 from Richard Biener --- Note a possibility would be to emit the packing/unpacking functions as inline functions so whether inlining happens would be decided by the middle-end inlining heuristics. That has the advantage of inlining only at (estimated) hot call sites and honoring limits set for unit and function growth. If the inline function is appropriately declared then the offline copy would continue to reside in libgfortran. Not sure if this enables the same optimization as fully inlining the packing/unpacking in the frontend does.=