-
Notifications
You must be signed in to change notification settings - Fork 4
Description
Interpret guards with one variable as assignments for ssa-form conversion.
The nondet branch with guard structure makes it easier in our IR: https://dspace.mit.edu/bitstream/handle/1721.1/86578/48072795-MIT.pdf
The easiest way would be to introduce the sigma nodes (assume (x == 1) ~> x1:= 1) before SSA transform. For the purpose of DFG the fact the IR is immutable means we can do this and throw away the transformed IR after the analysis. However, if we are running SSA for fixup it needs to be smarter about not introducing more phi nodes than are neccessary. E.g. http://link.springer.com/10.1007/978-3-642-37051-9_6 provides a method of constructing a minimal and pruned SSA form that can be reused to fixup introduced assignments that violate ssa form.