source: icGREP/icgrep-devel/icgrep/kernels/scanmatchgen.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: 876 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 SCANMATCHGEN_H
6#define SCANMATCHGEN_H
7
8#include "kernel.h"
9namespace IDISA { class IDISA_Builder; }
10namespace llvm { class Function; }
11namespace llvm { class Module; }
12
13namespace kernel {
14   
15
16class ScanMatchKernel : public MultiBlockKernel {
17public:
18    ScanMatchKernel(const std::unique_ptr<kernel::KernelBuilder> & b, StreamSet * const Matches, StreamSet * const LineBreakStream, StreamSet * const ByteStream, Scalar * const callbackObject);
19    bool isCachable() const override { return true; }
20    bool hasSignature() const override { return false; }
21private:
22    void generateMultiBlockLogic(const std::unique_ptr<kernel::KernelBuilder> & iBuilder, llvm::Value * const numOfStrides) override;
23};
24
25}
26#endif // SCANMATCHGEN_H
Note: See TracBrowser for help on using the repository browser.