aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/ModuloScheduling/README
diff options
context:
space:
mode:
Diffstat (limited to 'lib/CodeGen/ModuloScheduling/README')
-rw-r--r--lib/CodeGen/ModuloScheduling/README33
1 files changed, 0 insertions, 33 deletions
diff --git a/lib/CodeGen/ModuloScheduling/README b/lib/CodeGen/ModuloScheduling/README
deleted file mode 100644
index 3206161ab4..0000000000
--- a/lib/CodeGen/ModuloScheduling/README
+++ /dev/null
@@ -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.