Changeset 4540


Ignore:
Timestamp:
Mar 26, 2015, 6:04:06 PM (4 years ago)
Author:
cameron
Message:

Carry data stored with PabloBlock?, Advance, ScanThru?, MatchStar?

Location:
icGREP/icgrep-devel/icgrep/pablo
Files:
4 edited

Legend:

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

    r4524 r4540  
    173173        return mParent;
    174174    }
    175 
     175   
     176    inline void setCarryIndexBase(const unsigned idx) {
     177        mCarryIndexBase = idx;
     178    }
     179    inline unsigned getCarryIndexBase() const {
     180        return mCarryIndexBase;
     181    }
     182   
     183    inline void setLocalCarryCount(const unsigned c) {
     184        mLocalCarryCount = c;
     185    }
     186    inline unsigned getLocalCarryCount() const {
     187        return mLocalCarryCount;
     188    }
     189   
     190    inline void setLocalAdvanceCount(const unsigned c) {
     191        mLocalAdvanceCount = c;
     192    }
     193    inline unsigned getLocalAdvanceCount() const {
     194        return mLocalAdvanceCount;
     195    }
     196   
     197    inline void setTotalCarryDataSize(const unsigned sz) {
     198        mTotalCarryDataSize = sz;
     199    }
     200    inline unsigned getTotalCarryDataSize() const {
     201        return mTotalCarryDataSize;
     202    }
     203   
    176204    virtual ~PabloBlock();
    177205
     
    196224    SymbolGenerator &                                   mSymbolGenerator;
    197225    PabloBlock *                                        mParent;
     226    unsigned                                            mCarryIndexBase;
     227    unsigned                                            mLocalCarryCount;
     228    unsigned                                            mLocalAdvanceCount;
     229    unsigned                                            mTotalCarryDataSize;
    198230};
    199231
  • icGREP/icgrep-devel/icgrep/pablo/pe_advance.h

    r4438 r4540  
    3131        return cast<Integer>(getOperand(1))->value();
    3232    }
     33    inline void setLocalAdvanceIndex(const unsigned idx) {
     34        localAdvanceIndex = idx;
     35    }
     36    inline unsigned getLocalAdvanceIndex() const {
     37        return localAdvanceIndex;
     38    }
    3339protected:
    3440    Advance(PabloAST * expr, PabloAST * shiftAmount, String * name, PabloBlock * parent)
     
    3743        assert(isa<Integer>(shiftAmount));
    3844    }
     45private:
     46    unsigned localAdvanceIndex;
    3947};
    40 
     48   
    4149}
    4250
  • icGREP/icgrep-devel/icgrep/pablo/pe_matchstar.h

    r4438 r4540  
    2727        return getOperand(1);
    2828    }
     29    inline void setLocalCarryIndex(const unsigned idx) {
     30        localCarryIndex = idx;
     31    }
     32    inline unsigned getLocalCarryIndex() const {
     33        return localCarryIndex;
     34    }
    2935    virtual ~MatchStar() {}
    3036protected:
     
    3440
    3541    }
     42private:
     43    unsigned localCarryIndex;
    3644};
    3745
  • icGREP/icgrep-devel/icgrep/pablo/pe_scanthru.h

    r4438 r4540  
    2929        return getOperand(1);
    3030    }
     31    inline void setLocalCarryIndex(const unsigned idx) {
     32        localCarryIndex = idx;
     33    }
     34    inline unsigned getLocalCarryIndex() const {
     35        return localCarryIndex;
     36    }
    3137protected:
    3238    ScanThru(PabloAST * from, PabloAST * thru, String * name, PabloBlock * parent)
     
    3541
    3642    }
     43private:
     44    unsigned localCarryIndex;
    3745};
    3846
Note: See TracChangeset for help on using the changeset viewer.