Commit Lab 5a
This commit is contained in:
@@ -0,0 +1,7 @@
|
||||
Lib.Dominators module
|
||||
=====================
|
||||
|
||||
.. automodule:: Lib.Dominators
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
@@ -0,0 +1,7 @@
|
||||
Lib.Graphes module
|
||||
==================
|
||||
|
||||
.. automodule:: Lib.Graphes
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
@@ -0,0 +1,7 @@
|
||||
Lib.PhiNode module
|
||||
==================
|
||||
|
||||
.. automodule:: Lib.PhiNode
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
@@ -9,10 +9,13 @@ Submodules
|
||||
|
||||
Lib.Allocator
|
||||
Lib.CFG
|
||||
Lib.Dominators
|
||||
Lib.Errors
|
||||
Lib.FunctionData
|
||||
Lib.Graphes
|
||||
Lib.LinearCode
|
||||
Lib.Operands
|
||||
Lib.PhiNode
|
||||
Lib.RiscV
|
||||
Lib.Statement
|
||||
Lib.Terminator
|
||||
|
||||
@@ -15,10 +15,13 @@ Welcome to MiniC's documentation!
|
||||
Base library - RISC-V instructions <api/Lib.RiscV>
|
||||
Base library - Operands <api/Lib.Operands>
|
||||
Base library - Function data <api/Lib.FunctionData>
|
||||
Base library - Graphs <api/Lib.Graphes>
|
||||
Linear intermediate representation <api/Lib.LinearCode>
|
||||
Temporary allocation <api/Lib.Allocator>
|
||||
Control Flow Graph - CFG and Basic blocks <api/Lib.CFG>
|
||||
Control Flow Graph - Terminators <api/Lib.Terminator>
|
||||
SSA form - Dominance frontier <api/Lib.Dominators>
|
||||
SSA form - Phi Nodes <api/Lib.PhiNode>
|
||||
|
||||
These pages document the various Python sources in the Lib/
|
||||
folder of MiniC. You should not have to edit them *at all*.
|
||||
@@ -36,6 +39,9 @@ and pseudo-instructions, we give you the :doc:`api/Lib.RiscV`.
|
||||
RISC-V instructions take arguments of various kinds,
|
||||
as defined in the :doc:`api/Lib.Operands`.
|
||||
|
||||
At some point, we will need some basic functions about oriented and non oriented graphs,
|
||||
those are present in :doc:`api/Lib.Graphes`.
|
||||
|
||||
Linear Intermediate representation
|
||||
----------------------------------
|
||||
|
||||
@@ -54,6 +60,15 @@ Control Flow Graph Intermediate representation
|
||||
The classes for the CFG and its basic blocks are in the :doc:`api/Lib.CFG`.
|
||||
Each block ends with a terminator, as documented in the :doc:`api/Lib.Terminator`.
|
||||
|
||||
SSA form
|
||||
--------
|
||||
|
||||
The translation of the CFG into SSA form makes use of dominance frontiers.
|
||||
Functions to work with dominance are defined in the :doc:`api/Lib.Dominators`.
|
||||
|
||||
Phi nodes, a special kind of statement that appears in CFGs in SSA form,
|
||||
are defined in the :doc:`api/Lib.PhiNode`.
|
||||
|
||||
Indices and tables
|
||||
==================
|
||||
|
||||
|
||||
Reference in New Issue
Block a user