[PATCH] D130506: [Support] Add llvm::compression::{isAvailable,compress,uncompress}

Fangrui Song via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 25 14:07:30 PDT 2022


MaskRay added a comment.

In D130506#3677379 <https://reviews.llvm.org/D130506#3677379>, @ckissane wrote:

> In D130506#3677033 <https://reviews.llvm.org/D130506#3677033>, @dblaikie wrote:
>
>> @ckissane sounded like you/your colleagues already had some outstanding patches/plans to generalize the compression support - should we be considering those patches/directions alongside this one?
>>
>> I'd had in mind something like a compression algorithm base class, two (or three, if it's useful to have a default implementation for "None") derived classes, singleton instances of each and a function that takes the algorithm type and returns the handler - which can then be queried for "is available" and provides compress/decompress actions. That'd mean having only one switch instead of three, but the three are now so close together that it's not hugely painful to maintain (though having a class hierarchy would ensure the APIs were actually identical, whereas currently they're only identical by convention).
>
> @dblaikie indeed I do!
> I have some work on https://github.com/ckissane/llvm-project/tree/ckissane.compression-class that I will put into a patch shortly!
> It does exactly what you said, makes a base class, a none class, and zstd and zlib classes for compression, and refactors code to take advantage of this.

(You may want to use rebase instead of merge. Merge makes it a bit difficult to see the real changes.)


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D130506



More information about the llvm-commits mailing list