source: icGREP/icgrep-devel/icgrep/kernels/cc_scan_kernel.h @ 5805

Last change on this file since 5805 was 5440, checked in by nmedfort, 23 months ago

Large refactoring step. Removed IR generation code from Kernel (formally KernelBuilder?) and moved it into the new KernelBuilder? class.

File size: 818 bytes
Line 
1/*
2 *  Copyright (c) 2016 International Characters.
3 *  This software is licensed to the public under the Open Software License 3.0.
4 */
5#ifndef EDITDSCAN_KERNEL_H
6#define EDITDSCAN_KERNEL_H
7
8#include <kernels/kernel.h>
9namespace IDISA { class IDISA_Builder; }
10namespace llvm { class Function; }
11namespace llvm { class Module; }
12
13namespace kernel {
14   
15class CCScanKernel : public BlockOrientedKernel {
16public:
17    CCScanKernel(const std::unique_ptr<kernel::KernelBuilder> & iBuilder, unsigned streamNum);
18       
19private:
20    void generateDoBlockMethod(const std::unique_ptr<KernelBuilder> & iBuilder) override;
21    llvm::Function * generateScanWordRoutine(const std::unique_ptr<KernelBuilder> & iBuilder) const;
22       
23    unsigned mStreamNum;
24    unsigned mScanwordBitWidth;
25};
26
27}
28
29#endif // EDITDSCAN_KERNEL_H
Note: See TracBrowser for help on using the repository browser.