The src/ssa Directory
Namespace ssa, delivered for TC-6. Implementation of Static Single
Assignment and various optimizations.
File: local.am (src/ssa/)
The Makefile configuration relative to the
src/ssa/directory. It is responsible for the integration into thelibtclibrary with everything exported from thessamodule.
File: libssa.* (src/ssa/)
The interface of the
ssamodule. It exports the,dominator_graph_dump,insert_phinodes,rename_variablesandssaprocedures, which respectively dump the Dominator graph, insert Phi-Nodes, rename variables according to SSA, and convert the code back to LIR.
File: tasks.* (src/ssa/)
The tasks related to the
ssamodule (see: The src/task Directory).
File: phi-node.* (src/ssa/)
The
Phi-Nodeimplementation.
File: dominator-gen.* (src/ssa/)
The
Dominator Treeimplementation. It computes the dominator of each node in the Basic Block graph. Used to compute the location of each Phi-Node.
File: lifter.* (src/ssa/)
The
Lifterimplementation. It contains the logic for thessamodule and optimization passes.