[clang-tools-extra] [clangd] Re-land "support outgoing calls in call hierarchy" (PR #117673)

kadir çetinkaya via cfe-commits cfe-commits at lists.llvm.org
Tue Nov 26 02:03:37 PST 2024


https://github.com/kadircet requested changes to this pull request.

sorry for losing track on the original patch, and thanks a lot for driving this to completion!

> @kadircet perhaps you might be able to pick up this review?
>
> Or, in the absence of a full review, your opinion on the directional question in [this comment](https://reviews.llvm.org/D93829#4654786) would be appreciated as well:
>
> > how would you feel about proceeding with the patch in its current state, with the memory usage increase brought down from 8.2% to 2.5% thanks to the combination of the simple lookup optimization + RefKind filtering, and leaving the "deep lookup optimization" to be explored in a future change?

I'd definitely prefer the one we discussed in the original review, but I don't think perfect needs to be enemy of the good, we can surely optimize data structures here going forward if needed.

I am still worried about certain deployments (chromium remote-index service, and some internal ones we have). Since the optimization relies on filtering by kind, memory usage increase might be more severe for projects with different structure. 

So if it isn't going to be too annoying to ask at this point, can we make all of this a config knob? Both handling of `callHierarchy/outgoingCalls` and population of relevant structures in `DexIndex`. Option can be turned on by default, I'd like to make sure we have a quick way out if some of those deployments start OOM'ing.

https://github.com/llvm/llvm-project/pull/117673


More information about the cfe-commits mailing list