Ignore:
Timestamp:
Oct 23, 2014, 7:03:21 AM (5 years ago)
Author:
cameron
Message:

Update pablo Advance object to take integer shift amount; not supported by compiler yet

File:
1 edited

Legend:

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

    r4258 r4260  
    704704    {
    705705        Value* strm_value = compileExpression(adv->getExpr());
    706         retVal = genAdvanceWithCarry(strm_value);
     706                int shift = adv->getAdvanceAmount();
     707        retVal = genAdvanceWithCarry(strm_value, shift);
    707708    }
    708709    else if (const MatchStar * mstar = dyn_cast<MatchStar>(expr))
     
    828829}
    829830
    830 Value* PabloCompiler::genAdvanceWithCarry(Value* strm_value) {
     831Value* PabloCompiler::genAdvanceWithCarry(Value* strm_value, int shift_amount) {
     832        if (shift_amount != 1) {
     833                throw std::runtime_error("Shift amount != 1 in Advance is currently unsupported.");
     834        }
     835       
    831836    IRBuilder<> b(mBasicBlock);
    832837#if (BLOCK_SIZE == 128)
Note: See TracChangeset for help on using the changeset viewer.