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/analysis/pabloverifier.cpp

    r5267 r5283  
    7373                throw std::runtime_error(str.str());
    7474            }
    75         } else if (isa<Var>(use)) {
    76             if (LLVM_UNLIKELY(isa<Branch>(expr))) {
     75        } else if (isa<Var>(expr)) {
     76            if (LLVM_UNLIKELY(isa<Branch>(use) || isa<PabloKernel>(use))) {
    7777                ++uses;
    7878            } else {
     
    8383                str << " is a user of ";
    8484                PabloPrinter::print(expr, str);
    85                 str << " but can only be a user of a Branch or Function.";
     85                str << " but can only be a user of a Branch or Kernel.";
    8686                throw std::runtime_error(str.str());
    8787            }
Note: See TracChangeset for help on using the changeset viewer.