Ignore:
Timestamp:
Nov 28, 2017, 1:45:19 AM (22 months ago)
Author:
nmedfort
Message:

Bug fix for segment pipeline parallel mode + memory management improvements.

Location:
icGREP/icgrep-devel/icgrep/kernels
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • icGREP/icgrep-devel/icgrep/kernels/charclasses.cpp

    r5620 r5748  
    55
    66#include "charclasses.h"
    7 #include <boost/uuid/sha1.hpp>
    87#include <re/re_toolchain.h>
    9 #include <pablo/pablo_toolchain.h>
    108#include <kernels/kernel_builder.h>
    11 #include <pablo/builder.hpp>
    12 #include <pablo/pe_count.h>
    13 #include <UCD/resolve_properties.h>
    149#include <UCD/ucd_compiler.hpp>
    15 #include <re/re_cc.h>
    1610#include <cc/cc_compiler.h>
    1711#include <re/re_name.h>
    18 #include <llvm/Support/raw_ostream.h>
    1912#include <boost/uuid/sha1.hpp>
    2013
     
    3932}
    4033
    41 inline std::string signature(const std::vector<UCD::UnicodeSet> & ccs) {
     34inline std::string signature(const std::vector<re::CC *> & ccs) {
    4235    if (LLVM_UNLIKELY(ccs.empty())) {
    4336        return "[]";
     
    4841        for (const auto & set : ccs) {
    4942            out << joiner;
    50             set.print(out);
     43            set->print(out);
    5144            joiner = ',';
    5245        }
     
    5649}
    5750
    58 CharClassesSignature::CharClassesSignature(const std::vector<UCD::UnicodeSet> & ccs)
     51CharClassesSignature::CharClassesSignature(const std::vector<CC *> &ccs)
    5952: mSignature(signature(ccs)) {
    6053
     
    6255
    6356
    64 CharClassesKernel::CharClassesKernel(const std::unique_ptr<kernel::KernelBuilder> & iBuilder, std::vector<UnicodeSet> && ccs)
     57CharClassesKernel::CharClassesKernel(const std::unique_ptr<kernel::KernelBuilder> & iBuilder, std::vector<CC *> && ccs)
    6558: CharClassesSignature(ccs)
    6659, PabloKernel(iBuilder,
     
    8477    std::vector<Name *> names;
    8578    for (unsigned i = 0; i < n; i++) {
    86         Name * name = re::makeName("cc" + std::to_string(i), makeCC(std::move(mCCs[i])));
     79        Name * name = re::makeName("cc" + std::to_string(i), mCCs[i]);
    8780        nameMap.emplace(name, nullptr);
    8881        names.push_back(name);
  • icGREP/icgrep-devel/icgrep/kernels/charclasses.h

    r5620 r5748  
    77
    88#include <pablo/pablo_kernel.h>  // for PabloKernel
    9 #include <UCD/resolve_properties.h>
    109
    1110namespace kernel { class KernelBuilder; }
    1211namespace IDISA { class IDISA_Builder; }
    13 namespace re { class RE; }
     12namespace re { class RE; class CC; }
    1413namespace kernel {
    1514
    1615struct CharClassesSignature {
    17     CharClassesSignature(const std::vector<UCD::UnicodeSet> & ccs);
     16    CharClassesSignature(const std::vector<re::CC *> & ccs);
    1817protected:
    1918    const std::string mSignature;
     
    2221class CharClassesKernel : public CharClassesSignature, public pablo::PabloKernel {
    2322public:
    24     CharClassesKernel(const std::unique_ptr<kernel::KernelBuilder> & iBuilder, std::vector<UCD::UnicodeSet> && ccs);
     23    CharClassesKernel(const std::unique_ptr<kernel::KernelBuilder> & iBuilder, std::vector<re::CC *> && ccs);
    2524    bool hasSignature() const override { return true; }
    2625    std::string makeSignature(const std::unique_ptr<kernel::KernelBuilder> & iBuilder) override;
     
    2928    void generatePabloMethod() override;
    3029protected:
    31     std::vector<UCD::UnicodeSet> mCCs;
     30    std::vector<re::CC *> mCCs;
    3231};
    3332
Note: See TracChangeset for help on using the changeset viewer.