source: icGREP/icgrep-devel/icgrep/pablo/optimizers/booleanreassociationpass.h @ 4736

Last change on this file since 4736 was 4736, checked in by nmedfort, 4 years ago

Initial stages of a simple boolean equation reassociation pass.

File size: 618 bytes
Line 
1#ifndef BOOLEANREASSOCIATIONPASS_H
2#define BOOLEANREASSOCIATIONPASS_H
3
4#include <pablo/codegenstate.h>
5
6namespace pablo {
7
8class BooleanReassociationPass {   
9
10//    using Vertex = Graph::vertex_descriptor;
11//    using Map = std::unordered_map<PabloAST *, Vertex>;
12//    using Queue = boost::circular_buffer<PabloAST *>;
13    using Terminals = std::vector<Statement *>;
14public:
15    static bool optimize(PabloFunction & function);
16protected:
17    BooleanReassociationPass();
18    void scan(PabloFunction & function);
19    void scan(PabloBlock & block, Terminals && terminals);
20
21
22};
23
24}
25
26#endif // BOOLEANREASSOCIATIONPASS_H
Note: See TracBrowser for help on using the repository browser.