llvm.org GIT mirror llvm / 3b6b6ba
Removing README git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8180 91177308-0d34-0410-b5e6-96231b3b80d8 Tanya Lattner 17 years ago
4 changed file(s) with 4 addition(s) and 70 deletion(s). Raw diff Collapse all Expand all
7070 //Create edge and set delay equal to node latency
7171 //FIXME: Is it safe to do this?
7272 ModuloSchedGraph::iterator Src = find(I);
73 SchedGraphEdge *trueDep = new SchedGraphEdge(&*Src->second ,&*Sink->second, &*I,
74 SchedGraphEdge::TrueDep,
73 SchedGraphEdge *trueDep = new SchedGraphEdge(&*Src->second ,&*Sink->second,
74 &*I, SchedGraphEdge::TrueDep,
7575 Src->second->getLatency());
7676 //Determine the iteration difference
7777 //FIXME: Will this ever happen?
+0
-33
lib/CodeGen/ModuloScheduling/README less more
None The modulo scheduling pass impliment modulo scheduling for llvm instruction. It includes two passes
1
2
3 1. building graph
4 The pass will build an instance of class ModuloSchedGraph for each loop-including basicblock in a function. The steps to build a graph:
5 a)build one node for each instruction in the basicblock
6 ---ModuloScheduGraph::buildNodesforBB()
7 b)add def-use edges
8 ---ModuloScheduGraph::addDefUseEdges()
9 c)add cd edges
10 ---ModuloScheduGraph::addCDEdges()
11 d)add mem dependency edges
12 ---ModuloScheduGraph::addMemEdges()
13 e)compute resource restriction II and recurrenct II
14 ---ModuloScheduGraph::computeResII()
15 ---ModuloScheduGraph::computeRecII()
16 f)compute each node's property, including ASAP,ALAP, Mov, Depth and Height.
17 ---ModuloScheduGraph::computeNodeProperty
18 g)sort all nodes
19 ---ModuloScheduGraph::orderNodes()
20
21
22 2. compute schedule
23 The second step is to compute a schule and replace the orginal basic block with three basicblocks: prelogue, kernelblock and epilog.
24
25 a)compute the schedule according the algorithm described in the paper
26 ---ModuloScheduling::computeSchedule()
27
28 b)replace the original basicblock.(to be done)
29 ---ModuloScheduling::constructPrologue();
30 ---ModuloScheduling::constructKernel();
31 ---ModuloScheduling::constructEpilogue();
32 These three functions are not working yet.
7070 //Create edge and set delay equal to node latency
7171 //FIXME: Is it safe to do this?
7272 ModuloSchedGraph::iterator Src = find(I);
73 SchedGraphEdge *trueDep = new SchedGraphEdge(&*Src->second ,&*Sink->second, &*I,
74 SchedGraphEdge::TrueDep,
73 SchedGraphEdge *trueDep = new SchedGraphEdge(&*Src->second ,&*Sink->second,
74 &*I, SchedGraphEdge::TrueDep,
7575 Src->second->getLatency());
7676 //Determine the iteration difference
7777 //FIXME: Will this ever happen?
+0
-33
lib/Target/SparcV9/ModuloScheduling/README less more
None The modulo scheduling pass impliment modulo scheduling for llvm instruction. It includes two passes
1
2
3 1. building graph
4 The pass will build an instance of class ModuloSchedGraph for each loop-including basicblock in a function. The steps to build a graph:
5 a)build one node for each instruction in the basicblock
6 ---ModuloScheduGraph::buildNodesforBB()
7 b)add def-use edges
8 ---ModuloScheduGraph::addDefUseEdges()
9 c)add cd edges
10 ---ModuloScheduGraph::addCDEdges()
11 d)add mem dependency edges
12 ---ModuloScheduGraph::addMemEdges()
13 e)compute resource restriction II and recurrenct II
14 ---ModuloScheduGraph::computeResII()
15 ---ModuloScheduGraph::computeRecII()
16 f)compute each node's property, including ASAP,ALAP, Mov, Depth and Height.
17 ---ModuloScheduGraph::computeNodeProperty
18 g)sort all nodes
19 ---ModuloScheduGraph::orderNodes()
20
21
22 2. compute schedule
23 The second step is to compute a schule and replace the orginal basic block with three basicblocks: prelogue, kernelblock and epilog.
24
25 a)compute the schedule according the algorithm described in the paper
26 ---ModuloScheduling::computeSchedule()
27
28 b)replace the original basicblock.(to be done)
29 ---ModuloScheduling::constructPrologue();
30 ---ModuloScheduling::constructKernel();
31 ---ModuloScheduling::constructEpilogue();
32 These three functions are not working yet.