Ignore:
Timestamp:
Aug 16, 2015, 3:55:50 PM (4 years ago)
Author:
cameron
Message:

Embed carry data in compiled LLVM module; eliminate passing of carry data pointers/size

File:
1 edited

Legend:

Unmodified
Added
Removed
  • icGREP/icgrep-devel/icgrep/pablo/carry_manager.h

    r4720 r4726  
    5757    , mPabloCountCount(0)
    5858    , mTotalCarryDataBitBlocks(0)
     59    , mCarryDataAllocationSize(0)
    5960    {
    6061
     
    6364    ~CarryManager();
    6465   
    65     unsigned initialize(PabloBlock * blk, Value * carryDataPtr); 
     66    void initialize(Module * m, PabloBlock * blk);
    6667   
    6768    unsigned enumerate(PabloBlock * blk, unsigned ifDepth, unsigned whileDepth);
     
    112113    Value * popCount(Value * to_count, unsigned globalIdx);
    113114   
     115    Value * declareCarryDataArray(Module * m);
     116
     117   
    114118private:
    115119    unsigned mPACK_SIZE;
     
    132136    unsigned mPabloCountCount; // Number of Pablo "Count" operations
    133137    unsigned mTotalCarryDataBitBlocks;
     138    unsigned mCarryDataAllocationSize;
    134139   
    135140    std::vector<PabloBlockCarryData *> mCarryInfoVector;
     
    168173    unsigned summaryPosition();
    169174    unsigned summaryBits();
    170 
    171175};
    172176
Note: See TracChangeset for help on using the changeset viewer.