source: icGREP/icgrep-devel/icgrep/kernels/lz4/aio/lz4_bytestream_aio.h @ 6111

Last change on this file since 6111 was 6111, checked in by xwa163, 10 months ago
  1. Cleanup LZ4 AIO related kernels
  2. Improve LZ4ParallelByteStreamAIOKernel
  3. Implement simd_cttz
File size: 851 bytes
Line 
1
2#ifndef ICGREP_LZ4_AIO_H
3#define ICGREP_LZ4_AIO_H
4
5#include "kernels/lz4/aio/lz4_sequential_aio_base.h"
6
7namespace kernel {
8
9    class LZ4ByteStreamAioKernel : public LZ4SequentialAioBaseKernel {
10    public:
11        LZ4ByteStreamAioKernel(const std::unique_ptr<kernel::KernelBuilder> &b, unsigned blockSize = 4 * 1024 * 1024);
12
13    protected:
14        virtual void doLiteralCopy(const std::unique_ptr<KernelBuilder> &b, llvm::Value *literalStart,
15                                   llvm::Value *literalLength) override;
16        virtual void doMatchCopy(const std::unique_ptr<KernelBuilder> &b, llvm::Value *matchOffset,
17                                 llvm::Value *matchLength) override;
18        virtual void setProducedOutputItemCount(const std::unique_ptr<KernelBuilder> &b, llvm::Value* produced) override;
19    };
20
21}
22
23
24
25
26#endif //ICGREP_LZ4_AIO_H
Note: See TracBrowser for help on using the repository browser.