[PATCH] D58880: [WIP] [Looking for API feedback] [clangd] Type hierarchy subtypes

Nathan Ridge via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Mar 5 11:13:35 PST 2019


nridge added a comment.

In D58880#1418195 <https://reviews.llvm.org/D58880#1418195>, @hokein wrote:

> I think we can extend the existing Ref to support it, so that most of the stuff could be reused, rather than implementing a new slab:
>
> - introduce a new RefKind, like BaseOf
> - add a new field SymbolID in Ref


I had considered this approach as well, but figured that it would be wasteful in terms of storage space.

My understanding is that the storage space taken up for Refs is currently 8 bytes per Ref (4 each for the start and end positions), plus filename strings which are deduplicated across all refs. If we add a SymbolID, that adds an additional 8 bytes to each Ref. Given that Refs are numerous, and most of them won't use the SymbolID, that seems wasteful.

That said, I do appreciate that this is a simpler approach in terms of complexity, so if folks feel the right tradeoff is to take the Refs approach, I am open to doing that.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D58880/new/

https://reviews.llvm.org/D58880





More information about the cfe-commits mailing list