TC-8, Liveness AnalysisΒΆ

2021-TC-8 is a part of the TC Back End option.

2021-TC-8 submission is Sunday, June 9th 2019 at 11:42.

This section has been updated for EPITA- 2021 on 2016-01-27.

At the end of this stage, the compiler computes the input of TC-9: the interference graph (or conflict graph). The options -N and --interference-dump allow the user to see these graphs, one per function. To compute the interference graph, the compiler first computes the liveness of each temporary, i.e., a graph whose nodes are the instructions, and labeled with live temporaries. The options -V, --liveness-dump dumps these graphs. Finally, the structure of the liveness graph is the flow graph: its nodes are the instructions, and edges correspond to control flow. Use options -F, --flowgraph-dump to dump them.

All dumped graphs use the DOT format. You can display them using dotty or convert them to other formats (such as PDF or PNG) using dot, both part of the GraphViz package.

Relevant lecture notes include liveness.