Ignore:
Timestamp:
Dec 16, 2016, 4:16:28 PM (2 years ago)
Author:
nmedfort
Message:

Rewrite of the CarryManager? to support non-carry-collapsing loops.

File:
1 edited

Legend:

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

    r5217 r5227  
    3232    friend class PabloBlock;
    3333    friend class Prototype;
    34     friend class PabloFunction;
    3534    friend class SymbolGenerator;
    3635    friend class Count;
    3736    friend class Var;
     37    friend class Operator;
    3838public:
    3939
     
    6363        , Function
    6464        , Prototype
     65        // Arithmetic expressions
     66        , Add
     67        , Subtract
     68        // Relational expressions
     69        , LessThan
     70        , LessThanEquals
     71        , Equals
     72        , GreaterThanEquals
     73        , GreaterThan
     74        , NotEquals
    6575        /** Statements **/
    6676        // Boolean operations
     
    7989        // Statistics operations
    8090        , Count
    81         // Arithmetic operations
    82         , Add
    83         , Subtract
    8491        // Variable assignments
    8592        , Assign
     
    193200public:
    194201    static inline bool classof(const PabloAST * e) {
    195         switch (e->getClassTypeId()) {
    196             case PabloAST::ClassTypeId::Zeroes:
    197             case PabloAST::ClassTypeId::Ones:
    198             case PabloAST::ClassTypeId::Var:
    199             case PabloAST::ClassTypeId::String:
    200             case PabloAST::ClassTypeId::Integer:
    201             case PabloAST::ClassTypeId::Block:
    202             case PabloAST::ClassTypeId::Function:
    203             case PabloAST::ClassTypeId::Prototype:
    204                 return false;
    205             default:
    206                 return true;
    207         }
     202        return ((unsigned)e->getClassTypeId() >= (unsigned)PabloAST::ClassTypeId::And);
    208203    }
    209204    static inline bool classof(const Statement *) {
Note: See TracChangeset for help on using the changeset viewer.