pub fn insert_ssa_variables<'a, Cfg: SSAConfig>(
basic_blocks: &'a mut [Cfg::BasicBlock],
dominator_tree: &DominatorTree<Cfg::BasicBlock>,
env: &mut Cfg::Environment
) -> SSAResult<()>Expand description
Traverses the dominator tree in pre-order and for each block, the function
- Renames all variables to SSA form, keeping track of the current version of each variable.
- Updates phi expression arguments in each successor of the current block, adding the correct versioned arguments to the expression.