Ignore:
Timestamp:
Feb 12, 2016, 4:44:35 PM (4 years ago)
Author:
nmedfort
Message:

Bug fixes

File:
1 edited

Legend:

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

    r4919 r4927  
    1212#include <stdint.h>
    1313#include <llvm/ADT/DenseMap.h>
     14#include <llvm/ADT/DenseSet.h>
    1415
    1516typedef int BDD;
     
    1920class PabloBuilder;
    2021class PabloFunction;
    21 struct OrderingVerifier;
    2222
    2323class MultiplexingPass {
     
    3535    using CliqueSet = boost::container::flat_set<CliqueGraph::vertex_descriptor>;
    3636    using CliqueSets = boost::container::flat_set<std::vector<CliqueGraph::vertex_descriptor>>;
     37    using OrderingGraph = boost::adjacency_list<boost::hash_setS, boost::vecS, boost::bidirectionalS, Statement *>;
     38    using OrderingMap = boost::container::flat_map<const Statement *, OrderingGraph::vertex_descriptor>;
    3739
    3840    using AdvanceVector = std::vector<Advance *>;
     
    7678    void multiplexSelectedSets(PabloFunction & function);
    7779
    78     static void topologicalSort(PabloFunction & function);
    79     static void topologicalSort(PabloBlock * block, OrderingVerifier & parent);
     80    static void topologicalSort(PabloBlock * const block);
     81    static void topologicalSort(const OrderingGraph::vertex_descriptor u, const PabloBlock * const block, const Statement * const stmt, OrderingGraph & G, OrderingMap & M);
    8082
    8183    BDD & get(const PabloAST * const expr);
Note: See TracChangeset for help on using the changeset viewer.