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

Last change on this file since 6184 was 6184, checked in by nmedfort, 9 months ago

Initial version of PipelineKernel? + revised StreamSet? model.

File size: 903 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, const char * outputFileName);
23
24
25
26class LZ4DecompressionGenerator final : public LZ4BaseGenerator {
27
28public:
29    LZ4DecompressionGenerator();
30
31    int decompress(std::string && inputFileName, std::string&& outputFileName, bool overwriteOutput);
32
33private:
34
35    std::unique_ptr<kernel::PipelineBuilder> makeInternalPipeline();
36
37    MainFunctionType generateDecompressionPipeline();
38
39};
40
41
42#endif //ICGREP_LZ4GENERATOR_H
Note: See TracBrowser for help on using the repository browser.