source: icGREP/icgrep-devel/icgrep/kernels/streams_merge.h @ 5440

Last change on this file since 5440 was 5440, checked in by nmedfort, 2 years ago

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

File size: 672 bytes
RevLine 
[5338]1/*
2 *  Copyright (c) 2017 International Characters.
3 *  This software is licensed to the public under the Open Software License 3.0.
4 */
5#ifndef STREAMSMERGE_H
6#define STREAMSMERGE_H
7
8#include "kernel.h"
9namespace IDISA { class IDISA_Builder; }
10
11namespace kernel {
12
13class StreamsMerge : public BlockOrientedKernel {
14public:
15   
[5436]16    StreamsMerge(const std::unique_ptr<kernel::KernelBuilder> & iBuilder, unsigned streamsPerSet=1, unsigned inputSets = 1);
[5338]17   
18protected:
19   
[5440]20    void generateDoBlockMethod(const std::unique_ptr<kernel::KernelBuilder> & iBuilder) override;
[5338]21   
22private:
23    const unsigned mStreamsPerSet;
24    const unsigned mInputSets;
25};
26
27}
28   
29#endif
30
Note: See TracBrowser for help on using the repository browser.