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, 6 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.