Ignore:
Timestamp:
Dec 15, 2017, 12:44:01 PM (17 months ago)
Author:
nmedfort
Message:

Initial check-in of LookAhead? support; modified LineBreakKernel? to compute CR+LF using LookAhead?(1) + misc. fixes.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • icGREP/icgrep-devel/icgrep/kernels/interface.h

    r5757 r5782  
    3333
    3434    Binding(llvm::Type * type, const std::string & name, ProcessingRate r, Attribute && attribute)
    35     : AttributeSet({std::move(attribute)})
     35    : AttributeSet(std::move(attribute))
    3636    , mType(type), mName(name), mRate(std::move(r)) { }
    3737
     
    5858
    5959    bool isPrincipal() const {
    60         return hasAttribute(Attribute::KindId::Principal);
     60        return hasAttribute(AttributeId::Principal);
     61    }
     62
     63    bool hasLookahead() const {
     64        return hasAttribute(AttributeId::LookAhead);
     65    }
     66
     67    unsigned const getLookahead() const {
     68        return findAttribute(AttributeId::LookAhead).amount();
    6169    }
    6270
    6371    bool nonDeferred() const {
    64         return !hasAttribute(Attribute::KindId::Deferred);
     72        return !hasAttribute(AttributeId::Deferred);
    6573    }
    6674
     
    159167    }
    160168
    161     unsigned getLookAhead(const unsigned i) const {
    162         return 0;
    163     }
    164 
    165     void setLookAhead(const unsigned i, const unsigned lookAheadPositions) {
    166 
    167     }
    168 
    169169protected:
    170170
     
    178178
    179179    KernelInterface(const std::string && kernelName,
    180                     std::vector<Binding> && stream_inputs,
    181                     std::vector<Binding> && stream_outputs,
    182                     std::vector<Binding> && scalar_inputs,
    183                     std::vector<Binding> && scalar_outputs,
    184                     std::vector<Binding> && internal_scalars)
     180                    Bindings && stream_inputs,
     181                    Bindings && stream_outputs,
     182                    Bindings && scalar_inputs,
     183                    Bindings && scalar_outputs,
     184                    Bindings && internal_scalars)
    185185    : mKernelInstance(nullptr)
    186186    , mModule(nullptr)
     
    198198protected:
    199199
    200     llvm::Value *                           mKernelInstance;
    201     llvm::Module *                          mModule;
    202     llvm::StructType *                      mKernelStateType;
    203     bool                                    mHasPrincipalItemCount;
    204     const std::string                       mKernelName;
    205     std::vector<llvm::Value *>              mInitialArguments;
    206     std::vector<Binding>                    mStreamSetInputs;
    207     std::vector<Binding>                    mStreamSetOutputs;
    208     std::vector<Binding>                    mScalarInputs;
    209     std::vector<Binding>                    mScalarOutputs;
    210     std::vector<Binding>                    mInternalScalars;
     200    llvm::Value *                   mKernelInstance;
     201    llvm::Module *                  mModule;
     202    llvm::StructType *              mKernelStateType;
     203    bool                            mHasPrincipalItemCount;
     204    const std::string               mKernelName;
     205    std::vector<llvm::Value *>      mInitialArguments;
     206    Bindings                        mStreamSetInputs;
     207    Bindings                        mStreamSetOutputs;
     208    Bindings                        mScalarInputs;
     209    Bindings                        mScalarOutputs;
     210    Bindings                        mInternalScalars;
    211211};
    212212
Note: See TracChangeset for help on using the changeset viewer.