The src/liveness Directory

Namespace liveness, delivered for TC-8. Implementation and building of various graphs for the liveness analysis.

File: local.am (src/liveness/)

This is a Makefile configuration relative to the src/liveness/ directory. It is responsible for the integration into the libtc library with everything exported from the liveness module, and the linkage of the directory’s unit tests in the test-suite.

File: libliveness.* (src/liveness/)

The interface of the liveness module. It exports the, flowgraph_dump, liveness_dump and interference_dump procedures. Each of which respectively dumps the Flow graph, the Liveness graph and the Interference graph.

File: tasks.* (src/liveness/)

Tasks related to the liveness module (see: The src/task Directory).


File: flowgraph.* (src/liveness/)

The FlowGraph implementation. It represents and computes a Flow graph.

File: interference-graph.* (src/liveness/)

The InterferenceGraph implementation. It computes the interference graph from the live-in/live-out information.

File: liveness.* (src/liveness/)

The Liveness implementation. It is a FlowGraph with labeled Temp representing live-in and live-out for each vertex. The live-in and live-out information is computed from the FlowGraph in Liveness’s constructor.


File: test-flowgraph.cc (src/liveness/)

Unit tests.