[PATCH] D130867: [clang] adds builtin `std::invoke` and `std::invoke_r`

2022-09-11 Thread Christopher Di Bella via Phabricator via cfe-commits
cjdb added a comment. In D130867#3781492 , @ldionne wrote: > In D130867#3781429 , @cjdb wrote: > >> I had not realised that libc++ was listed as a reviewer. > > The change does have an impact on libc++, so I

[PATCH] D130867: [clang] adds builtin `std::invoke` and `std::invoke_r`

2022-09-09 Thread Louis Dionne via Phabricator via cfe-commits
ldionne added a comment. In D130867#3781429 , @cjdb wrote: > I had not realised that libc++ was listed as a reviewer. The change does have an impact on libc++, so I think it makes sense to look at it not only from the compiler perspective, but from the

[PATCH] D130867: [clang] adds builtin `std::invoke` and `std::invoke_r`

2022-09-09 Thread Christopher Di Bella via Phabricator via cfe-commits
cjdb abandoned this revision. cjdb added a comment. I had not realised that libc++ was listed as a reviewer. I am going to abandon this revision, since I only wish to interact with that community when it is both business-critical and unavoidable. Repository: rG LLVM Github Monorepo CHANGES

[PATCH] D130867: [clang] adds builtin `std::invoke` and `std::invoke_r`

2022-09-08 Thread Louis Dionne via Phabricator via cfe-commits
ldionne added a comment. I think this is quite interesting, but it also raises the obvious question of: where do we stop? I think the following elements need to be taken into account: 1. Implementing more stuff in the compiler adds complexity to the compiler, and does not decrease the

[PATCH] D130867: [clang] adds builtin `std::invoke` and `std::invoke_r`

2022-09-06 Thread Christopher Di Bella via Phabricator via cfe-commits
cjdb added a comment. In D130867#3759181 , @aaron.ballman wrote: > Thanks for working on this; these sort of improvements to compile time > overhead are very much appreciated! > > Has this been tested against libc++ (our preccommit CI doesn't test

[PATCH] D130867: [clang] adds builtin `std::invoke` and `std::invoke_r`

2022-09-02 Thread Konstantin Varlamov via Phabricator via cfe-commits
var-const added a comment. Out of curiosity, would it be possible to do a benchmark to see how adding `_LIBCPP_NODEBUG` to `std::invoke` would compare to using builtins? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D130867/new/

[PATCH] D130867: [clang] adds builtin `std::invoke` and `std::invoke_r`

2022-08-30 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added a reviewer: libc++. aaron.ballman added a comment. Thanks for working on this; these sort of improvements to compile time overhead are very much appreciated! Has this been tested against libc++ (our preccommit CI doesn't test that), and if so, do all the results come back

[PATCH] D130867: [clang] adds builtin `std::invoke` and `std::invoke_r`

2022-08-23 Thread Christopher Di Bella via Phabricator via cfe-commits
cjdb updated this revision to Diff 454908. cjdb added a comment. rebases onto main Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D130867/new/ https://reviews.llvm.org/D130867 Files: clang/docs/ReleaseNotes.rst

[PATCH] D130867: [clang] adds builtin `std::invoke` and `std::invoke_r`

2022-08-12 Thread Christopher Di Bella via Phabricator via cfe-commits
cjdb updated this revision to Diff 452358. cjdb added a comment. rebase messed up diff Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D130867/new/ https://reviews.llvm.org/D130867 Files: clang/docs/ReleaseNotes.rst

[PATCH] D130867: [clang] adds builtin `std::invoke` and `std::invoke_r`

2022-08-12 Thread Christopher Di Bella via Phabricator via cfe-commits
cjdb updated this revision to Diff 452357. cjdb added a comment. applies a fix Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D130867/new/ https://reviews.llvm.org/D130867 Files: clang/docs/ReleaseNotes.rst

[PATCH] D130867: [clang] adds builtin `std::invoke` and `std::invoke_r`

2022-08-07 Thread Christopher Di Bella via Phabricator via cfe-commits
cjdb added inline comments. Comment at: clang/lib/Sema/SemaExprCXX.cpp:5726-5731 + FirstArgType = S.BuiltinAddReference( + dyn_cast( + dyn_cast(FirstArgType)->getNamedType()) + ->getArg(0) + .getAsType(), + Sema::UTTKind::AddLvalueReference,

[PATCH] D130867: [clang] adds builtin `std::invoke` and `std::invoke_r`

2022-08-06 Thread Christopher Di Bella via Phabricator via cfe-commits
cjdb updated this revision to Diff 450587. cjdb added a comment. rebases to ToT Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D130867/new/ https://reviews.llvm.org/D130867 Files: clang/docs/ReleaseNotes.rst

[PATCH] D130867: [clang] adds builtin `std::invoke` and `std::invoke_r`

2022-08-06 Thread Christopher Di Bella via Phabricator via cfe-commits
cjdb updated this revision to Diff 450584. cjdb added a comment. adds logic to diagnose misqualified pointer-to-member functions Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D130867/new/ https://reviews.llvm.org/D130867 Files:

[PATCH] D130867: [clang] adds builtin `std::invoke` and `std::invoke_r`

2022-08-06 Thread Christopher Di Bella via Phabricator via cfe-commits
cjdb updated this revision to Diff 450581. cjdb retitled this revision from "WORK-IN-PROGRESS [clang] adds builtin `std::invoke` and `std::invoke_r`" to "[clang] adds builtin `std::invoke` and `std::invoke_r`". cjdb edited the summary of this revision. cjdb added a comment. updates commit