Ignore:
Timestamp:
Feb 7, 2017, 3:23:42 PM (3 years ago)
Author:
nmedfort
Message:

Continued work on eliminating BlockNo?

File:
1 edited

Legend:

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

    r5303 r5307  
    99#include <llvm/IR/Type.h>  // for Type
    1010namespace IDISA { class IDISA_Builder; }
    11 namespace llvm { class PointerType; }
    1211namespace llvm { class Value; }
    1312namespace kernel { class KernelBuilder; }
     
    2726
    2827    llvm::Type * getType() const {
    29         return mStreamSetType;
     28        return mType;
    3029    }
    3130
    3231    llvm::Type * getBaseType() const {
    33         return mBaseStreamSetType;
     32        return mBaseType;
    3433    }
    3534
     
    4847    virtual void allocateBuffer();
    4948
    50     virtual llvm::Value * getStream(llvm::Value * self, llvm::Value * blockNo, llvm::Value * index) const;
     49    virtual llvm::Value * getStream(llvm::Value * self, llvm::Value * streamIndex, llvm::Value * blockIndex) const;
    5150
    52     virtual llvm::Value * getStream(llvm::Value * self, llvm::Value * blockNo, llvm::Value * index1, llvm::Value * index2) const;
     51    virtual llvm::Value * getStream(llvm::Value * self, llvm::Value * streamIndex, llvm::Value * blockIndex, llvm::Value * packIndex) const;
    5352   
    54     virtual llvm::Value * getStreamView(llvm::Type * type, llvm::Value * self, llvm::Value * blockNo, llvm::Value * index) const;
     53    llvm::Value * getRawItemPointer(llvm::Value * self, llvm::Value * streamIndex, llvm::Value * absolutePosition) const;
    5554
    5655    // The number of items that cam be linearly accessed from a given logical stream position.
     
    6463    virtual llvm::Value * getStreamSetPtr(llvm::Value * self, llvm::Value * blockNo) const = 0;
    6564
    66     llvm::Type * resolveStreamSetBufferType(llvm::Type * type) const;
    67 
    6865protected:
    6966    const BufferKind                mBufferKind;
    7067    IDISA::IDISA_Builder * const    iBuilder;
    71     llvm::Type * const              mStreamSetType;
     68    llvm::Type * const              mType;
    7269    const size_t                    mBufferBlocks;
    7370    const unsigned                  mAddressSpace;
    7471    llvm::Value *                   mStreamSetBufferPtr;
    75     llvm::Type * const              mBaseStreamSetType;
     72    llvm::Type * const              mBaseType;
    7673};   
    7774
     
    161158    llvm::Value * getStream(llvm::Value * self, llvm::Value * blockNo, llvm::Value * index1, llvm::Value * index2) const override;
    162159
    163     llvm::Value * getStreamView(llvm::Type * type, llvm::Value * self, llvm::Value * blockNo, llvm::Value * index) const override;
    164 
    165160    llvm::Value * getLinearlyAccessibleItems(llvm::Value * fromPosition) const override;
    166161   
Note: See TracChangeset for help on using the changeset viewer.