[PATCH] D64462: [ADT] [WIP] Add MutableRange class
Alex Brachet via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Jul 16 08:19:48 PDT 2019
abrachet added a comment.
Thanks, @MaskRay!
> You probably need a data structure to process symbol table/section header table/program header table. To that end, this patch adds an overlay data structure (MutableRange as the name made me puzzled) to make operations more efficient.
The idea here was the llvm-objcopy needs to reference the original sections/symbols etc and that such a data structure could be used to keep both the original and update or add new entries.
> Have you benchmarked whether the librarified llvm-objcopy will benefit from a fancy data structure like this? I'm thinking plain vectors (as is) may just meet the needs.
Not yet. But this can keep the original entries without needing to make a copy of every single one, only the ones that get modified.
> If you just want to make interleaved insertion/deletion efficient
So like cache insertion/deletion and then execute them whenever the data structure is read? Can this be done with std::transform efficiently?
> (MutableRange as the name made me puzzled)
Not married to the name by any means :) Just called such because it creates a mutable layer over an immutable data structure.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D64462/new/
https://reviews.llvm.org/D64462
More information about the llvm-commits
mailing list