Ignore:
Timestamp:
Mar 26, 2015, 8:09:48 PM (5 years ago)
Author:
cameron
Message:

New carry data system -- first stage

File:
1 edited

Legend:

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

    r4539 r4541  
    100100    void DefineTypes();
    101101    void DeclareFunctions();
    102     void Examine(PabloBlock & blk);
     102    unsigned Examine(PabloBlock & blk, unsigned carryDataIndexIn);
    103103    void DeclareCallFunctions();
    104104    void SetOutputValue(Value * marker, const unsigned index);
     
    109109    void compileWhile(const While * whileStmt);
    110110    Value* compileExpression(const PabloAST * expr);
    111     Value* genCarryInLoad(const unsigned index);
    112     void   genCarryOutStore(Value* carryOut, const unsigned index);
    113     Value* genAdvanceInLoad(const unsigned index);
    114     void   genAdvanceOutStore(Value* advanceOut, const unsigned index);
    115     Value* genAddWithCarry(Value* e1, Value* e2);
    116     Value* genAdvanceWithCarry(Value* e1, int shift_amount);
     111    Value* genCarryDataLoad(const unsigned index);
     112    void   genCarryDataStore(Value* carryOut, const unsigned index);
     113    Value* genAddWithCarry(Value* e1, Value* e2, unsigned localIndex, const PabloBlock * blk);
     114    Value* genAdvanceWithCarry(Value* e1, int shift_amount, unsigned localIndex, const PabloBlock * blk);
    117115    Value* genBitBlockAny(Value* test);
    118116    Value* genShiftHighbitToLow(Value* e, const Twine & namehint = "");
     
    132130
    133131    ASTToValueMap                       mMarkerMap;
    134     CarryQueueVector                    mCarryQueueVector;
    135     std::vector<int>                    mCarryQueueSummaryIdx;
    136     CarryQueueVector                    mAdvanceQueueVector;
    137     std::vector<int>                    mAdvanceQueueSummaryIdx;
     132    CarryQueueVector                    mCarryDataVector;
     133    std::vector<int>                    mCarryDataSummaryIdx;
    138134
    139135    const std::vector<Var *> &          mBasisBits;
     
    146142    PointerType*                        mBasisBitsInputPtr;
    147143
    148     unsigned                            mCarryQueueIdx;
    149144    Value*                              mCarryDataPtr;
    150145    unsigned                            mNestingDepth;
    151     unsigned                            mCarryQueueSize;
    152 
    153     unsigned                            mAdvanceQueueIdx;
    154     unsigned                            mAdvanceQueueSize;
    155146
    156147    ConstantAggregateZero* const        mZeroInitializer;
Note: See TracChangeset for help on using the changeset viewer.