From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 0B1FD3894E7E; Wed, 6 May 2020 07:05:03 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 0B1FD3894E7E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1588748704; bh=TtwvZLGPk+VdNul8tTsxZPVLsCVRPDPu6oo1sj6R+jM=; h=From:To:Subject:Date:In-Reply-To:References:From; b=WGnVr/Ksl+J1dH6cYgkTlwDIU43ycMzlgeLErXOPGJ7lrxeVWz5G4jH9mzhaEBadq VwCXQwPosg1de4IouKI1LTckTMKX4IVIaEq4SHT8z2l2kI33L5YNv7WBal4pG/VCkH 1Z3WgaRxIJb/6LfPF37JCIWjrmslO3cRl5c61ffw= From: "rguenth at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug c++/94960] extern template prevents inlining of standard library objects Date: Wed, 06 May 2020 07:05:03 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: c++ X-Bugzilla-Version: 9.1.0 X-Bugzilla-Keywords: missed-optimization X-Bugzilla-Severity: normal X-Bugzilla-Who: rguenth at gcc dot gnu.org X-Bugzilla-Status: NEW 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 component 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: Wed, 06 May 2020 07:05:04 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D94960 Richard Biener changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |hubicka at gcc dot gnu.org, | |jason at gcc dot gnu.org Component|libstdc++ |c++ --- Comment #4 from Richard Biener --- I guess the C++ FE could honor -finline-functions and consider all functions having the 'inline' hint in that case. I'm not sure how wide-spread explicit instantiations are and what compile-time (and size?) hit we get when doing the instantiations always. That is, is the middle-end smart enough to not emit out-of-line instances for the inline instantiated extern template parts? Off the top of my head I'm not aware of any middle-end flagging of this?=