Ignore:
Timestamp:
Feb 15, 2017, 4:08:37 PM (2 years ago)
Author:
nmedfort
Message:

memcpy/memset support for 32-bit systems; more error messages/handling; bug fix for ParabixCharacterClassKernelBuilder?. continued work on parenthesis matching + expandable buffers.

File:
1 edited

Legend:

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

    r5317 r5320  
    5858protected:
    5959
    60     StreamSetBuffer(BufferKind k, IDISA::IDISA_Builder * b, llvm::Type * type, unsigned blocks, unsigned AddressSpace);
     60    StreamSetBuffer(BufferKind k, IDISA::IDISA_Builder * b, llvm::Type * baseType, llvm::Type * resolvedType, unsigned blocks, unsigned AddressSpace);
    6161
    6262    // Get the buffer pointer for a given block of the stream.
     
    148148// within their set whenever the index exceeds its capacity
    149149//
     150// ExpandableBuffers do not allow access to the base stream set but will automatically increase the number of streams
     151// within their set whenever the index exceeds its capacity
     152//
    150153class ExpandableBuffer : public StreamSetBuffer {
    151154public:
     
    159162
    160163    llvm::Value * getLinearlyAccessibleItems(llvm::Value * fromPosition) const override;
    161    
     164
     165    void allocateBuffer() override;
     166
    162167protected:
    163168
    164     void ensureStreamCapacity(llvm::Value * self, llvm::Value * streamIndex) const;
     169    llvm::Value * getStreamSetBlockPtr(llvm::Value * self, llvm::Value * blockIndex) const override;
    165170
    166     llvm::Value * getStreamSetBlockPtr(llvm::Value * self, llvm::Value * blockIndex) const override;
     171private:
     172
     173    std::pair<llvm::Value *, llvm::Value *> getExpandedStreamOffset(llvm::Value * self, llvm::Value * streamIndex, llvm::Value * blockIndex) const;
     174
     175private:
     176
     177    const uint64_t  mInitialCapacity;
     178
    167179};
    168180
Note: See TracChangeset for help on using the changeset viewer.