Ignore:
Timestamp:
Jan 28, 2017, 3:12:03 PM (2 years ago)
Author:
nmedfort
Message:

Start of work to simplify kernel writing. Removed generateDoBlockLogic method.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • icGREP/icgrep-devel/icgrep/kernels/scanmatchgen.h

    r5283 r5285  
    1616class ScanMatchKernel : public BlockOrientedKernel {
    1717public:
    18     ScanMatchKernel(IDISA::IDISA_Builder * iBuilder, GrepType grepType) :
    19     BlockOrientedKernel(iBuilder, "scanMatch",
    20                   {Binding{iBuilder->getStreamSetTy(2, 1), "matchResults"}},
    21                     {},
    22                     {Binding{iBuilder->getInt8PtrTy(), "FileBuf"}, Binding{iBuilder->getSizeTy(), "FileSize"}, Binding{iBuilder->getSizeTy(), "FileIdx"}},
    23                     {},
    24                     {Binding{iBuilder->getSizeTy(), "BlockNo"}, Binding{iBuilder->getSizeTy(), "LineStart"}, Binding{iBuilder->getSizeTy(), "LineNum"}}),
    25 
    26     mGrepType(grepType) {}
    27        
     18    ScanMatchKernel(IDISA::IDISA_Builder * iBuilder, GrepType grepType);
     19protected:
     20    void generateDoBlockMethod(llvm::Function * function, llvm::Value * self, llvm::Value * blockNo) const override;
    2821private:
    29 
    30     void generateDoBlockMethod() const override;
    31 
    3222    llvm::Function * generateScanWordRoutine(llvm::Module * m) const;
    33 
    3423private:
    3524    GrepType mGrepType;
Note: See TracChangeset for help on using the changeset viewer.