HomePhabricator

[clangd] Don't create child AND and OR iterators with one posting list

Description

[clangd] Don't create child AND and OR iterators with one posting list

AND( AND( Child ) ... ) -> AND( Child ... )
AND( OR( Child ) ... ) -> AND( Child ... )

This simple optimization results in 5-6% performance improvement in the
benchmark with 2000 serialized FuzzyFindRequests.

Reviewed By: ilya-biryukov

Differential Revision: https://reviews.llvm.org/D52016

Details