TC-8, Liveness Analysis¶
2023-TC-8 is a part of the TC Back End option.
2023-TC-8 submission is Saturday, June 5th 2021 at 23:42.
This section has been updated for EPITA-2023 on 2021-05-30.
At the end of this stage, the compiler computes the input of
TC-9: the interference graph (or conflict
graph). The options
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
--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
--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)
dot, both part of the GraphViz package.
Relevant lecture notes include 49-liveness-analysis.pdf.