Ignore:
Timestamp:
Apr 8, 2018, 1:16:46 AM (17 months ago)
Author:
xwa163
Message:
  1. Remove legacy kernels and codes for lz4
  2. Remove old approach for lz4 decoder
  3. Fixed some bugs of lz4 decoder new approach in large file by adding workaround attribute
  4. Add related test cases
File:
1 edited

Legend:

Unmodified
Added
Removed
  • icGREP/icgrep-devel/icgrep/toolchain/pipeline.cpp

    r5941 r5948  
    775775    b->createDoSegmentCall(args);
    776776
     777    if (kernel->hasAttribute(kernel::Attribute::KindId::MustConsumeAll)) {
     778        // workaround to modify is final
     779        for (unsigned i = 0; i < inputs.size(); ++i) {
     780            const Binding &input = inputs[i];
     781            const StreamSetBuffer *const buffer = kernel->getStreamSetInputBuffer(i);
     782            const auto name = input.getName();
     783
     784            auto processed = b->getProcessedItemCount(name);
     785            const auto p = producedItemCount.find(buffer);
     786            assert (p != producedItemCount.end());
     787            Value * const available = p->second;
     788//            auto available = b->getAvailableItemCount(name);
     789            isFinal = b->CreateAnd(isFinal, b->CreateICmpEQ(processed, available));
     790
     791
     792//            Value * const unprocessed = b->CreateSub(produced, processed);
     793        }
     794    }
     795
     796
    777797    if (kernel->hasAttribute(kernel::Attribute::KindId::MustExplicitlyTerminate)) {
    778798        isFinal = b->getTerminationSignal();
Note: See TracChangeset for help on using the changeset viewer.