OpenASIP 2.2
Loading...
Searching...
No Matches
BFRemoveLoopChecks.hh
Go to the documentation of this file.
1#include "BFOptimization.hh"
3
5public:
8 bool operator()();
9 void undoOnlyMe();
10private:
11
12 typedef std::set<ProgramOperationPtr, ProgramOperationPtrComparator>
14
16 POSet& queuedToRemovePo, POSet& maybeRemovePo,
17 DataDependenceGraph::NodeSet& queuedToRemoveMove,
18 DataDependenceGraph::NodeSet& maybeRemoveMove);
19
20 void checkMaybePos(
21 POSet& maybeRemove, POSet& queuedToRemove, POSet& finishedAlivePo);
22
24 DataDependenceGraph::NodeSet& queuedToRemoveMove,
25 DataDependenceGraph::NodeSet& maybeRemoveMove,
26 POSet& queuedToRemovePo, POSet& maybeRemovePo);
27
28 void checkMaybeMoves(
30 DataDependenceGraph::NodeSet& queuedToRemove,
32
33 void checkAlivePO(
34 POSet& queuedAlivePo, POSet& finishedAlivePo,
35 DataDependenceGraph::NodeSet& queuedAliveMoves,
36 DataDependenceGraph::NodeSet& finishedAliveMoves);
37
38 void checkAliveMove(DataDependenceGraph::NodeSet& queuedAliveMoves,
39 DataDependenceGraph::NodeSet& finishedAliveMoves,
40 POSet& queuedAlivePo, POSet& finishedAlivePo);
41
42 void queueAliveMove(
43 MoveNode& mn,
44 POSet& queuedAlivePo, POSet& finishedAlivePo,
45 DataDependenceGraph::NodeSet& queuedAliveMoves,
46 DataDependenceGraph::NodeSet& finishedAliveMoves);
47
49 std::set<ProgramOperationPtr, ProgramOperationPtrComparator> removedPOs_;
50};
void queueAliveMove(MoveNode &mn, POSet &queuedAlivePo, POSet &finishedAlivePo, DataDependenceGraph::NodeSet &queuedAliveMoves, DataDependenceGraph::NodeSet &finishedAliveMoves)
void checkMaybePos(POSet &maybeRemove, POSet &queuedToRemove, POSet &finishedAlivePo)
void checkAliveMove(DataDependenceGraph::NodeSet &queuedAliveMoves, DataDependenceGraph::NodeSet &finishedAliveMoves, POSet &queuedAlivePo, POSet &finishedAlivePo)
std::set< ProgramOperationPtr, ProgramOperationPtrComparator > removedPOs_
void removeMoveFromQueue(DataDependenceGraph::NodeSet &queuedToRemoveMove, DataDependenceGraph::NodeSet &maybeRemoveMove, POSet &queuedToRemovePo, POSet &maybeRemovePo)
DataDependenceGraph::NodeSet removedMoves_
void checkMaybeMoves(DataDependenceGraph::NodeSet &maybeRemove, DataDependenceGraph::NodeSet &queuedToRemove, DataDependenceGraph::NodeSet &aliveNodes)
void checkAlivePO(POSet &queuedAlivePo, POSet &finishedAlivePo, DataDependenceGraph::NodeSet &queuedAliveMoves, DataDependenceGraph::NodeSet &finishedAliveMoves)
void removePoFromQueue(POSet &queuedToRemovePo, POSet &maybeRemovePo, DataDependenceGraph::NodeSet &queuedToRemoveMove, DataDependenceGraph::NodeSet &maybeRemoveMove)
BFRemoveLoopChecksAndJump(BF2Scheduler &sched)
std::set< ProgramOperationPtr, ProgramOperationPtrComparator > POSet
std::set< GraphNode *, typename GraphNode::Comparator > NodeSet
Definition Graph.hh:53