Ignore:
Timestamp:
Jan 27, 2017, 2:22:06 PM (3 years ago)
Author:
nmedfort
Message:

Optimized Symbol Generation (and fixed potential bug that could allow duplicate names being constructed); made PabloKernel? extend PabloAST (temporarily removed PabloAST::getName() to avoid diamond problem); added an internal scalar to PabloKernel? struct for each Count to avoid InOut? output scalar variable problem; allowed CodeMotionPass? to move code within the same scope but across a branch statement. Began work on separating Kernels into either Block-Oriented or Segment-Oriented kernels.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • icGREP/icgrep-devel/icgrep/pablo/codegenstate.cpp

    r5270 r5283  
    5858}
    5959
    60 Count * PabloBlock::createCount(PabloAST * const expr, const std::string & prefix)  {
     60Count * PabloBlock::createCount(PabloAST * const expr, const llvm::StringRef & prefix)  {
    6161    Type * type = getParent()->getBuilder()->getSizeTy();
    6262    return insertAtInsertionPoint(new (mAllocator) Count(expr, makeName(prefix), type, mAllocator));
     
    7878        throw std::runtime_error("Var objects must have a String name");
    7979    }
    80     return mParent->makeVariable(name, type);
     80    return mParent->makeVariable(cast<String>(name), type);
    8181}
    8282
Note: See TracChangeset for help on using the changeset viewer.