source: icGREP/icgrep-devel/icgrep/kernels/scanmatchgen.h @ 5464

Last change on this file since 5464 was 5464, checked in by nmedfort, 22 months ago

Restructuring work for the Driver classes. Start of work to eliminate the memory leaks with the ExecutionEngine?. Replaced custom AlignedMalloc? with backend call to std::aligned_malloc. Salvaged some work on DistributionPass? for reevaluation.

File size: 849 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 "grep_type.h"
9#include "kernel.h"
10namespace IDISA { class IDISA_Builder; }
11namespace llvm { class Function; }
12namespace llvm { class Module; }
13
14namespace kernel {
15   
16class ScanMatchKernel final : public BlockOrientedKernel {
17public:
18    ScanMatchKernel(const std::unique_ptr<kernel::KernelBuilder> & b, const GrepType grepType, const unsigned codeUnitWidth);
19    bool isCachable() const override { return true; }
20    bool hasSignature() const override { return false; }
21protected:
22    void generateDoBlockMethod(const std::unique_ptr<kernel::KernelBuilder> & iBuilder) override;
23private:
24    const GrepType      mGrepType;
25};
26}
27
28#endif // SCANMATCHGEN_H
Note: See TracBrowser for help on using the repository browser.