+++ title = "Removing variables that cannot be evaluated" author = "Yann Herklotz" tags = [] categories = [] backlinks = ["3a8g5e"] forwardlinks = ["3a8g5e2", "3a8g5e1a"] zettelid = "3a8g5e1" +++ In SSA, at each program point, only variables who's definition point dominates the current program point can be evaluated using the SSA equations. It is therefore important that all the variables inside of the SSA form should always dominate the current program point, and especially with predicates that are propagated, these predicates will need to be adjusted to only contain the correct variables. This can be done by replacing any predicate, whether it's the condition or it's negation, by T. This will definitely be correct for the propagation of the truth values of predicates, but might not be sufficient for the value of ɣ functions.