[Clang] Improve compile times when forming a DeclRef outside of a capturing scope.
The logic of whether an entity needs to be captured has become quite complex and the recent changes in https://reviews.llvm.org/D124351 ad a mesurable negative impact on compile times. However, in the absence of capturing scopes (lambda, block, region) we usually can avoid running most of that logic (except that we do need to diagnostic when a nested function refers to a local variable in the scope of the outer function.). This patch track whether there is currently an active capturing scope and exit `tryCaptureVariable` early when there isn't. Reviewed By: aaron.ballman Differential Revision: https://reviews.llvm.org/D150038
Loading
Please sign in to comment