[PATCH] D137458: [clang] Add __decay<T> as a builtin template
Christopher Di Bella via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Fri Feb 10 17:09:35 PST 2023
cjdb added subscribers: aaron.ballman, cjdb.
cjdb added a comment.
In D137458#3909343 <https://reviews.llvm.org/D137458#3909343>, @troyj wrote:
>> Also, it would be nice to have some numbers for the 'measurably faster' claim :)
>
> Sure. Here's an example of a library change that started using builtins for `__make_integer_seq` and `__type_pack_element` https://github.com/facebook/fatal/commit/58102a3f7e66ad122d7d3335c446399b09d5085e where there was a 1.8% speedup for a file that spent 70 seconds in the front end. It also reduced the peak memory usage of the front end by 0.5%. We have reason to believe that a `__decay` builtin would produce similar benefit. Unfortunately, all of the intrinsics in https://reviews.llvm.org/D116203 were implemented with parentheses syntax instead of as builtin templates, which makes it more difficult. Ideally, we'd like to see all of these implemented as builtin templates, but `__decay` is the first one that we're proposing.
>
> I'm not familiar with the mangling issue that you mentioned. I'll look into it more.
Is there a reason that parentheses are insufficient? @aaron.ballman and I talked about whether or not using angle-brackets would be a better option at one point and concluded that there wasn't any benefit.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D137458/new/
https://reviews.llvm.org/D137458
More information about the cfe-commits
mailing list