1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 03:33:20 +01:00

Removing README

llvm-svn: 8180
This commit is contained in:
Tanya Lattner 2003-08-28 17:17:59 +00:00
parent f7a56c2596
commit 7fc76b7377
2 changed files with 2 additions and 35 deletions

View File

@ -71,8 +71,8 @@ void ModuloSchedGraph::addDepEdges() {
//Create edge and set delay equal to node latency
//FIXME: Is it safe to do this?
ModuloSchedGraph::iterator Src = find(I);
SchedGraphEdge *trueDep = new SchedGraphEdge(&*Src->second ,&*Sink->second, &*I,
SchedGraphEdge::TrueDep,
SchedGraphEdge *trueDep = new SchedGraphEdge(&*Src->second ,&*Sink->second,
&*I, SchedGraphEdge::TrueDep,
Src->second->getLatency());
//Determine the iteration difference
//FIXME: Will this ever happen?

View File

@ -1,33 +0,0 @@
The modulo scheduling pass impliment modulo scheduling for llvm instruction. It includes two passes
1. building graph
The pass will build an instance of class ModuloSchedGraph for each loop-including basicblock in a function. The steps to build a graph:
a)build one node for each instruction in the basicblock
---ModuloScheduGraph::buildNodesforBB()
b)add def-use edges
---ModuloScheduGraph::addDefUseEdges()
c)add cd edges
---ModuloScheduGraph::addCDEdges()
d)add mem dependency edges
---ModuloScheduGraph::addMemEdges()
e)compute resource restriction II and recurrenct II
---ModuloScheduGraph::computeResII()
---ModuloScheduGraph::computeRecII()
f)compute each node's property, including ASAP,ALAP, Mov, Depth and Height.
---ModuloScheduGraph::computeNodeProperty
g)sort all nodes
---ModuloScheduGraph::orderNodes()
2. compute schedule
The second step is to compute a schule and replace the orginal basic block with three basicblocks: prelogue, kernelblock and epilog.
a)compute the schedule according the algorithm described in the paper
---ModuloScheduling::computeSchedule()
b)replace the original basicblock.(to be done)
---ModuloScheduling::constructPrologue();
---ModuloScheduling::constructKernel();
---ModuloScheduling::constructEpilogue();
These three functions are not working yet.