Documentation
¶
Overview ¶
Package ssa is responsible for turning a control-flow graph (CFG) of a function into an intermediate representation (IR), which adheres to static single assignment (SSA).
While generating the IR, We have two noteworthy challenges:
- Maintain variable usage counts (x_0, x_1, ... x_n)
- Insert phi nodes after branch points
As C0 does not permit variable shadowing, scoping issues are easier to manage. Our first approach to phi nodes will be wasteful as we are more interested about a working implementation than efficiency.
Note: The SSA generation is meant to be called on per-function basis. The aggregate instructions of these separate runs forms the complete program.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
Click to show internal directories.
Click to hide internal directories.