Ignore:
Timestamp:
Jan 16, 2017, 9:55:26 AM (3 years ago)
Author:
cameron
Message:

Move responsibility for ProducedItemCount? into doSegment unless overridden

File:
1 edited

Legend:

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

    r5260 r5261  
    8686    Value * const self = &*(f->arg_begin());
    8787    mPabloCompiler->compile(self, f);
    88     for (auto ss : mStreamSetOutputs) {
    89         Value * produced = getProducedItemCount(self, ss.name);
    90         produced = iBuilder->CreateAdd(produced, iBuilder->getSize(iBuilder->getStride()));
    91         setProducedItemCount(self, ss.name, produced);
    92     }
    9388    iBuilder->CreateRetVoid();
    9489    #ifndef NDEBUG
     
    117112    setScalarField(self, "EOFmask", iBuilder->bitblock_mask_from(remaining));
    118113    iBuilder->CreateCall(doBlockFunction, doBlockArgs);
    119     /* Adjust the produced item count */
    120     for (auto ss : mStreamSetOutputs) {
    121         Value * produced = getProducedItemCount(self, ss.name);
    122         produced = iBuilder->CreateSub(produced, iBuilder->getSize(iBuilder->getStride()));
    123         produced = iBuilder->CreateAdd(produced, remaining);
    124         setProducedItemCount(self, ss.name, produced);
    125     }
    126114    iBuilder->CreateRetVoid();
    127115    #ifndef NDEBUG
     
    136124, mSymbolTable(new SymbolGenerator(mAllocator))
    137125, mEntryBlock(PabloBlock::Create(this)) {
    138 
     126setDoBlockUpdatesProducedItemCountsAttribute(false);
    139127}
    140128
Note: See TracChangeset for help on using the changeset viewer.