Ignore:
Timestamp:
Jul 24, 2015, 8:18:18 AM (4 years ago)
Author:
cameron
Message:

Carry manager progress

File:
1 edited

Legend:

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

    r4694 r4696  
    6060    unsigned enumerate(PabloBlock * blk, unsigned ifDepth, unsigned whileDepth);
    6161   
    62     void generateBlockNoIncrement();
    63    
     62    void generateBlockNoIncrement();   
    6463    Value * getBlockNoPtr();
    6564   
     
    6766   
    6867    void enterScope(PabloBlock * blk);
    69 
    7068    void leaveScope();
    7169   
    72 /* Helper routines */
    73 
    74 
    75 Value * getCarryPack(unsigned packIndex);
    76 
    77 void CarryPackStore(unsigned packIndex);
    78 
    79 Value * genCarryInRange(unsigned carryBit_lo, unsigned carryRangeSize);
    80  
    81 Value * genCarryInBit(unsigned carryBitPos);
    82 
    8370    /* Methods for processing individual carry-generating operations. */
    8471   
    8572    Value * getCarryOpCarryIn(int localIndex);
    86 
    8773    void setCarryOpCarryOut(unsigned idx, Value * carry_out);
    8874
     
    9884   
    9985    void addSummaryPhiIfNeeded(BasicBlock * ifEntryBlock, BasicBlock * ifBodyFinalBlock);
    100    
    101     /* Methods for load/store of carries for non-while blocks. */
    102    
    103     void ensureCarriesLoadedLocal();
    104 
    105     void ensureCarriesStoredLocal();
    10686   
    10787    /* Methods for handling while statements */
     
    141121    std::vector<PHINode *> mCarryInPhis; 
    142122    std::vector<PHINode *> mCarryOutAccumPhis; 
    143     std::vector<Value *> mCarryOutVector;
     123    std::vector<Value *> mCarryOutPack;
    144124
    145125    Value * unitAdvanceCarryInCarryOut(int localIndex, Value * strm);
    146126    Value * shortAdvanceCarryInCarryOut(int localIndex, int shift_amount, Value * strm);
    147127    Value * longAdvanceCarryInCarryOut(int localIndex, int shift_amount, Value * strm);
     128   
     129   
     130    /* Helper routines */
     131    Value * getCarryPack(unsigned packIndex);
     132    void storeCarryPack(unsigned packIndex);
     133   
     134    Value * getCarryRange(unsigned carryBit_lo, unsigned carryRangeSize);     
     135    Value * getCarryBit(unsigned carryBitPos);
     136    void setCarryBits(unsigned carryBit_lo, Value * bits);
     137
     138   
    148139   
    149140};
Note: See TracChangeset for help on using the changeset viewer.