source: icGREP/icgrep-devel/icgrep/kernels/lz4/aio/lz4_i4_bytestream_aio.h @ 6132

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