Ignore:
Timestamp:
Jan 13, 2018, 11:57:43 AM (14 months ago)
Author:
nmedfort
Message:

Pablo support for byte comparisions; LineFeed? kernel processes byte streams directly. Some clean up of PabloBuilder? functionality.

File:
1 edited

Legend:

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

    r5782 r5828  
    22#include <pablo/branch.h>
    33#include <pablo/pe_var.h>
    4 #include <pablo/pe_phi.h>
    54#include <pablo/ps_assign.h>
     5#include <pablo/arithmetic.h>
    66#include <pablo/codegenstate.h>
    77#include <pablo/pablo_kernel.h>
     
    7676            }
    7777        } else if (isa<Var>(expr)) {
    78             if (LLVM_UNLIKELY(isa<Branch>(use) || isa<PabloKernel>(use))) {
     78            if (LLVM_UNLIKELY(isa<Branch>(use) || isa<Operator>(use) || isa<PabloKernel>(use))) {
    7979                ++uses;
    8080            } else {
     
    8585                str << " is a user of ";
    8686                PabloPrinter::print(expr, str);
    87                 str << " but can only be a user of a Branch or Kernel.";
     87                str << " but can only be a user of a Branch, Operator or Kernel.";
    8888                throw std::runtime_error(str.str());
     89            }
     90        } else if (const Operator * const user = dyn_cast<Operator>(use)) {
     91            if (user->getLH() == expr) {
     92                ++uses;
     93            }
     94            if (user->getRH() == expr) {
     95                ++uses;
    8996            }
    9097        }
Note: See TracChangeset for help on using the changeset viewer.