source: icGREP/icgrep-devel/icgrep/kernels/lzparabix/decoder/LZParabixLiteralDecoderKernel.h @ 6132

Last change on this file since 6132 was 6123, checked in by xwa163, 15 months ago

Encode BitStream? directly in LZParabix compressed file

File size: 1.0 KB
Line 
1//
2// Created by wxy325 on 2018/6/30.
3//
4
5#ifndef ICGREP_LZPARABIXLITERALDECODERKERNEL_H
6#define ICGREP_LZPARABIXLITERALDECODERKERNEL_H
7
8#include "kernels/kernel.h"
9#include <string>
10#include <map>
11#include <vector>
12
13namespace llvm {
14    class Module;
15    class Function;
16    class BasicBlock;
17    class Value;
18}
19
20namespace IDISA { class IDISA_Builder; }
21
22namespace kernel{
23    class LZParabixLiteralDecoderKernel : public SegmentOrientedKernel {
24    public:
25        LZParabixLiteralDecoderKernel(const std::unique_ptr<kernel::KernelBuilder> &b);
26    protected:
27        void generateDoSegmentMethod(const std::unique_ptr<KernelBuilder> &b) override;
28
29        llvm::Value* generateLoadInt64NumberInput(const std::unique_ptr<KernelBuilder> &iBuilder,
30                                                                      std::string inputBufferName, llvm::Value *globalOffset);
31        llvm::Value* processBlock(const std::unique_ptr<KernelBuilder> &b, llvm::Value* blockStart);
32    };
33}
34
35
36
37#endif //ICGREP_LZPARABIXLITERALDECODERKERNEL_H
Note: See TracBrowser for help on using the repository browser.