coins.backend.sched
クラス Pipelining
java.lang.Object
|
+--coins.backend.sched.Pipelining
- public class Pipelining
- extends java.lang.Object
クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
scheduler
Schedule scheduler
lir
LirFactory lir
flowGraph
FlowGraph flowGraph
basicBlk
BasicBlk basicBlk
dependGraph
DependGraph dependGraph
table
Pipelining.ResourceTable table
info
Pipelining.ScheduleInfo info
latencyArray
int[] latencyArray
Pipelining
public Pipelining(Schedule scheduler)
pipelining
boolean pipelining(FlowGraph fGraph,
BasicBlk bBlk,
DependGraph dg,
BiList instLINE)
hasLargeLatency
boolean hasLargeLatency(BasicBlk bBlk)
scheduleBranchAndDepend
void scheduleBranchAndDepend()
selectFromSchedulable
java.util.ArrayList selectFromSchedulable()
scheduleNodesOfSelectedList
void scheduleNodesOfSelectedList(java.util.ArrayList selectedList)
scheduleDependentNode
void scheduleDependentNode()
scheduleRemainingSchedulableNodes
void scheduleRemainingSchedulableNodes()
constructPipelinedBlocks
void constructPipelinedBlocks(BiList instLINE)
reconstructDg
DependGraph reconstructDg(BasicBlk blk)
getLirNodeFromDependent
LirNode getLirNodeFromDependent(DependNode node)
- covert DependNode to LirNode
- パラメータ:
node
- DependNode coverting to LirNode
- 戻り値:
- LirNode providing from DependNode
reverseOp
int reverseOp(int op)
getLoopBlks
BiList getLoopBlks(FlowGraph flowGraph)
- get inner-most-loop basic blocks
- 戻り値:
- list of nner-most-loop block
eliminatingUnnecessaryLoop
BiList eliminatingUnnecessaryLoop(BiList list)
- reduce loops unsatisfying conditions
- パラメータ:
list
- list of loop block
- 戻り値:
- list of blocks for pipelining
pipelining0
void pipelining0(FlowGraph flowGraph)
- pipelining inner-most-loops in flowGraph
(this method rewrites blocks and instructions)
- パラメータ:
flowGraph
- FlowGraph for pipelining