source: icGREP/icgrep-devel/icgrep/kernels/lz4/lz4_match_copy_kernel.h @ 5905

Last change on this file since 5905 was 5905, checked in by xwa163, 16 months ago
  1. Fix some bugs in match copy kernel
  2. Remove some legacy codes from match copy kernel and sequential kernel
File size: 778 bytes
Line 
1//
2//
3
4#ifndef ICGREP_LZ4_MATCH_COPY_KERNEL_H
5#define ICGREP_LZ4_MATCH_COPY_KERNEL_H
6
7#include "kernels/kernel.h"
8
9namespace IDISA { class IDISA_Builder; }
10
11namespace kernel {
12    class LZ4MatchCopyKernel: public MultiBlockKernel {
13    public:
14        LZ4MatchCopyKernel(const std::unique_ptr<kernel::KernelBuilder> & iBuilder);
15    protected:
16        void generateMultiBlockLogic(const std::unique_ptr<KernelBuilder> &iBuilder, llvm::Value * const numOfStrides) override;
17    private:
18        void generateOutputCopy(const std::unique_ptr<KernelBuilder> &iBuilder, llvm::Value* outputBlocks);
19
20        llvm::Value* getMaximumMatchCopyBlock(const std::unique_ptr<KernelBuilder> &iBuilder);
21        llvm::Value* mIsFinalBlock;
22    };
23}
24
25
26
27#endif //ICGREP_LZ4_MATCH_COPY_KERNEL_H
Note: See TracBrowser for help on using the repository browser.