Ignore:
Timestamp:
Jul 23, 2015, 8:05:59 PM (4 years ago)
Author:
cameron
Message:

Carry manager refactoring, progress towards bit packing

File:
1 edited

Legend:

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

    r4691 r4694  
    3838    : mBuilder(b)
    3939    , mBitBlockType(bitBlockType)
     40#ifdef PACKING
     41    , mPackType(b->getIntNTy(PACK_SIZE))
     42#endif
    4043    , mZeroInitializer(zero)
    4144    , mOneInitializer(one)
     
    6770    void leaveScope();
    6871   
     72/* Helper routines */
     73
     74
     75Value * getCarryPack(unsigned packIndex);
     76
     77void CarryPackStore(unsigned packIndex);
     78
     79Value * genCarryInRange(unsigned carryBit_lo, unsigned carryRangeSize);
     80 
     81Value * genCarryInBit(unsigned carryBitPos);
     82
    6983    /* Methods for processing individual carry-generating operations. */
    7084   
     
    105119    IRBuilder <> * mBuilder;
    106120    VectorType * mBitBlockType;
     121#ifdef PACKING
     122    Type * mPackType;
     123#endif
    107124    ConstantAggregateZero * mZeroInitializer;
    108125    Constant * mOneInitializer;
     
    120137
    121138
    122     std::vector<Value *> mCarryInVector;
     139    std::vector<Value *> mCarryPackPtr;
     140    std::vector<Value *> mCarryInPack;
    123141    std::vector<PHINode *> mCarryInPhis; 
    124142    std::vector<PHINode *> mCarryOutAccumPhis; 
Note: See TracChangeset for help on using the changeset viewer.