public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
From: "cvs-commit at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org> To: gcc-bugs@gcc.gnu.org Subject: [Bug c++/96780] debuginfo for std::move and std::forward isn't useful Date: Wed, 16 Mar 2022 12:26:55 +0000 [thread overview] Message-ID: <bug-96780-4-r2lgLEUneN@http.gcc.gnu.org/bugzilla/> (raw) In-Reply-To: <bug-96780-4@http.gcc.gnu.org/bugzilla/> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96780 --- Comment #16 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Patrick Palka <ppalka@gcc.gnu.org>: https://gcc.gnu.org/g:e55c5e24b97ad8ddc44588da18e894c139e02c0a commit r12-7668-ge55c5e24b97ad8ddc44588da18e894c139e02c0a Author: Patrick Palka <ppalka@redhat.com> Date: Wed Mar 16 08:25:54 2022 -0400 c++: fold calls to std::move/forward [PR96780] A well-formed call to std::move/forward is equivalent to a cast, but the former being a function call means the compiler generates debug info, which persists even after the call gets inlined, for an operation that's never interesting to debug. This patch addresses this problem by folding calls to std::move/forward and other cast-like functions into simple casts as part of the frontend's general expression folding routine. This behavior is controlled by a new flag -ffold-simple-inlines, and otherwise by -fno-inline, so that users can enable this folding with -O0 (which implies -fno-inline). After this patch with -O2 and a non-checking compiler, debug info size for some testcases from range-v3 and cmcstl2 decreases by as much as ~10% and overall compile time and memory usage decreases by ~2%. PR c++/96780 gcc/ChangeLog: * doc/invoke.texi (C++ Dialect Options): Document -ffold-simple-inlines. gcc/c-family/ChangeLog: * c.opt: Add -ffold-simple-inlines. gcc/cp/ChangeLog: * cp-gimplify.cc (cp_fold) <case CALL_EXPR>: Fold calls to std::move/forward and other cast-like functions into simple casts. gcc/testsuite/ChangeLog: * g++.dg/opt/pr96780.C: New test.
next prev parent reply other threads:[~2022-03-16 12:26 UTC|newest] Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-08-25 12:08 [Bug c++/96780] New: " redi at gcc dot gnu.org 2020-08-25 12:35 ` [Bug c++/96780] " mpolacek at gcc dot gnu.org 2020-09-12 16:05 ` ppalka at gcc dot gnu.org 2020-09-12 16:09 ` ppalka at gcc dot gnu.org 2021-04-06 13:44 ` redi at gcc dot gnu.org 2021-11-03 21:14 ` ppalka at gcc dot gnu.org 2021-11-03 23:17 ` redi at gcc dot gnu.org 2022-01-05 13:55 ` ppalka at gcc dot gnu.org 2022-01-05 16:11 ` jakub at gcc dot gnu.org 2022-03-01 19:12 ` vittorio.romeo at outlook dot com 2022-03-01 20:06 ` redi at gcc dot gnu.org 2022-03-03 9:15 ` redi at gcc dot gnu.org 2022-03-09 14:35 ` jason at gcc dot gnu.org 2022-03-09 14:35 ` jason at gcc dot gnu.org 2022-03-09 15:34 ` ppalka at gcc dot gnu.org 2022-03-09 17:12 ` redi at gcc dot gnu.org 2022-03-09 17:20 ` redi at gcc dot gnu.org 2022-03-10 4:33 ` jason at gcc dot gnu.org 2022-03-16 12:26 ` cvs-commit at gcc dot gnu.org [this message] 2022-03-26 23:37 ` jason at gcc dot gnu.org 2023-08-02 14:34 ` moncef.mechri at gmail dot com
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=bug-96780-4-r2lgLEUneN@http.gcc.gnu.org/bugzilla/ \ --to=gcc-bugzilla@gcc.gnu.org \ --cc=gcc-bugs@gcc.gnu.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).