source: icGREP/icgrep-devel/icgrep/lz4/lz4_decompression_generator.h @ 6137

Last change on this file since 6137 was 6137, checked in by xwa163, 11 months ago
  1. LZ4 ScanMatch? pipeline
  2. Refactor LZ4 Generator
  3. Adjust some naming
File size: 935 bytes
Line 
1
2#ifndef ICGREP_LZ4GENERATOR_H
3#define ICGREP_LZ4GENERATOR_H
4
5#include "lz4_base_generator.h"
6
7#include <llvm/IR/Module.h>
8#include <llvm/IR/Function.h>
9
10#include <llvm/Support/Signals.h>
11#include <llvm/Support/ManagedStatic.h>
12#include <IR_Gen/idisa_target.h>
13
14#include <toolchain/toolchain.h>
15
16#include <toolchain/cpudriver.h>
17#include <string>
18
19namespace re { class CC; }
20
21
22typedef void (*MainFunctionType)(char * byte_data, size_t headerSize, size_t filesize, bool hasBlockChecksum);
23
24
25
26class LZ4DecompressionGenerator: public LZ4BaseGenerator {
27
28public:
29    LZ4DecompressionGenerator();
30
31    int decompress(std::string&& inputFileName, std::string&& outputFileName, bool overwriteOutput);
32
33    MainFunctionType getMainFunc();
34
35    void generateDecompressionPipeline(const std::string &outputFile);
36protected:
37    void generateMainFunc(const std::unique_ptr<kernel::KernelBuilder> & iBuilder);
38
39};
40
41
42#endif //ICGREP_LZ4GENERATOR_H
Note: See TracBrowser for help on using the repository browser.