source: icGREP/icgrep-devel/icgrep/kernels/alignedprint.h @ 5377

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

Work on parenthesis matching and expandable buffers. Changed CBuilder CreateMemZero? to zero n bytes rather than n units to conform to the built-in CreateMemSet? and CreateMemCpy? methods.

File size: 1.2 KB
Line 
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 ALIGNED_PRINT_H
6#define ALIGNED_PRINT_H
7
8#include "kernel.h"  // for KernelBuilder
9namespace IDISA { class IDISA_Builder; }  // lines 14-14
10namespace llvm { class Value; }
11
12namespace kernel {
13
14class PrintableBits : public BlockOrientedKernel {
15public:
16    PrintableBits(IDISA::IDISA_Builder * builder);
17    virtual ~PrintableBits() {}
18private:
19    void generateDoBlockMethod() override;
20};
21
22class SelectStream : public BlockOrientedKernel {
23public:
24    SelectStream(IDISA::IDISA_Builder * builder, unsigned sizeInputStreamSet, unsigned streamIndex);
25    virtual ~SelectStream() {}
26private:
27    void generateDoBlockMethod() override;
28    unsigned mSizeInputStreamSet;
29    unsigned mStreamIndex;
30};
31
32class PrintStreamSet : public BlockOrientedKernel {
33public:
34    PrintStreamSet(IDISA::IDISA_Builder * builder, std::vector<std::string> && names, const unsigned minWidth = 16);
35    virtual ~PrintStreamSet() {}
36private:
37    void generateDoBlockMethod() override;
38private:
39    const std::vector<std::string> mNames;
40    unsigned mNameWidth;
41};
42
43}
44#endif
Note: See TracBrowser for help on using the repository browser.