Ignore:
Timestamp:
Aug 10, 2015, 3:30:31 PM (4 years ago)
Author:
nmedfort
Message:

Misc. changes and start of dependency chain analysis in ucd generator.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • icGREP/icgrep-devel/icgrep/pablo/optimizers/pablo_automultiplexing.hpp

    r4711 r4722  
    3535    using AdvanceVector = std::vector<std::tuple<Advance *, DdNode *, DdNode *>>;
    3636    using VertexVector = std::vector<ConstraintVertex>;
    37     using RecentCharacterizations = std::vector<std::pair<const PabloAST *, DdNode *>>;   
     37    using RecentCharacterizations = std::vector<std::pair<const PabloAST *, DdNode *>>;
     38    using MuxedVariables = std::vector<std::vector<PabloAST *>>;
    3839public:
    3940    static bool optimize(PabloFunction & function);
     
    4849    void selectMultiplexSets(RNG &);
    4950    void applySubsetConstraints();
    50     void multiplexSelectedIndependentSets() const;
    51     void simplifyAST(Advance * const muxed[], const unsigned m, PabloBuilder & builder) const;
    52     std::pair<PabloAST *, unsigned> simplifyAST(DdManager * manager, DdNode * const f, PabloAST * const variables[], PabloBuilder & builder) const;
    53     std::pair<PabloAST *, unsigned> makeCoverAST(DdManager * manager, DdNode * const f, PabloAST * const variables[], PabloBuilder & builder) const;
     51    void multiplexSelectedIndependentSets();
     52    void simplifyAST(const PabloFunction & function);
     53    PabloAST * simplifyAST(DdNode * const f, const std::vector<PabloAST *> & variables, PabloBuilder & builder);
     54    PabloAST * makeCoverAST(DdNode * const f, const std::vector<PabloAST *> & variables, PabloBuilder & builder);
    5455    void topologicalSort(PabloBlock & entry) const;
    5556    inline AutoMultiplexing()
     
    8485    MultiplexSetGraph           mMultiplexSetGraph;
    8586    RecentCharacterizations     mRecentCharacterizations;
     87    MuxedVariables              mMuxedVariables;
     88    unsigned                    mSimplifyDepth;
    8689};
    8790
Note: See TracChangeset for help on using the changeset viewer.