mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-05-16 07:38:43 +00:00
Removing README
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8180 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
4f839ccf49
commit
3b6b6ba4be
@ -71,8 +71,8 @@ void ModuloSchedGraph::addDepEdges() {
|
|||||||
//Create edge and set delay equal to node latency
|
//Create edge and set delay equal to node latency
|
||||||
//FIXME: Is it safe to do this?
|
//FIXME: Is it safe to do this?
|
||||||
ModuloSchedGraph::iterator Src = find(I);
|
ModuloSchedGraph::iterator Src = find(I);
|
||||||
SchedGraphEdge *trueDep = new SchedGraphEdge(&*Src->second ,&*Sink->second, &*I,
|
SchedGraphEdge *trueDep = new SchedGraphEdge(&*Src->second ,&*Sink->second,
|
||||||
SchedGraphEdge::TrueDep,
|
&*I, SchedGraphEdge::TrueDep,
|
||||||
Src->second->getLatency());
|
Src->second->getLatency());
|
||||||
//Determine the iteration difference
|
//Determine the iteration difference
|
||||||
//FIXME: Will this ever happen?
|
//FIXME: Will this ever happen?
|
||||||
|
@ -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.
|
|
@ -71,8 +71,8 @@ void ModuloSchedGraph::addDepEdges() {
|
|||||||
//Create edge and set delay equal to node latency
|
//Create edge and set delay equal to node latency
|
||||||
//FIXME: Is it safe to do this?
|
//FIXME: Is it safe to do this?
|
||||||
ModuloSchedGraph::iterator Src = find(I);
|
ModuloSchedGraph::iterator Src = find(I);
|
||||||
SchedGraphEdge *trueDep = new SchedGraphEdge(&*Src->second ,&*Sink->second, &*I,
|
SchedGraphEdge *trueDep = new SchedGraphEdge(&*Src->second ,&*Sink->second,
|
||||||
SchedGraphEdge::TrueDep,
|
&*I, SchedGraphEdge::TrueDep,
|
||||||
Src->second->getLatency());
|
Src->second->getLatency());
|
||||||
//Determine the iteration difference
|
//Determine the iteration difference
|
||||||
//FIXME: Will this ever happen?
|
//FIXME: Will this ever happen?
|
||||||
|
@ -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.
|
|
Loading…
x
Reference in New Issue
Block a user