[PATCH] D123345: Treat `std::move`, `forward`, and `move_if_noexcept` as builtins.
David Blaikie via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Fri Apr 15 12:55:49 PDT 2022
dblaikie added a comment.
In D123345#3453037 <https://reviews.llvm.org/D123345#3453037>, @rnk wrote:
> 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.
+1 there - and also these operations/intrinsics produce no instructions, so far as I understand/know - so for now, LLVM's got to way to represent that anyway (there's some talk in DWARF about how to have multiple "states" for a single instruction location (so, eg, you could step in/out of an inlined function even though you stay at exactly the same instruction))
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