[PATCH] D123345: Treat `std::move`, `forward`, and `move_if_noexcept` as builtins.

Reid Kleckner via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Apr 14 16:13:25 PDT 2022


rnk added a comment.

Generally speaking, this sounds like a good idea to me. One time in 2019 I used -ftime-trace+ClangBuildAnalyzer and it told me that std::unique_ptr was the most expensive template <https://twitter.com/reidkleckner/status/1198108401177251840> because it is instantiated so much. Those results don't even capture the -O0 object file size impact.

In D123345#3452933 <https://reviews.llvm.org/D123345#3452933>, @rsmith wrote:

> In D123345#3452496 <https://reviews.llvm.org/D123345#3452496>, @aaron.ballman wrote:
>
>> Do you have ideas on how we can improve the debugging checkpoint behavior (if at all)?
>
> I think we just live with it, like we do for other builtin functions. (There might be things we can do by emitting inlining info into the debug info. If we do that, we should presumably do it for all builtin lib functions.)

Honestly, I don't think it's worth the debug info bytes to describe these inlined call sites. Debug info isn't free.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D123345/new/

https://reviews.llvm.org/D123345



More information about the cfe-commits mailing list