-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Given how predicates are subsumed by the Expr class, which performs automatic simplification (and, in particular, moves all operands of a comparison to the right),
While I don't have an explicit counterexample, one doesn't seem too difficult to contrive: you just need branch conditions dependent on complex expressions of "atomic" registers (i.e., ones coming from reads or other
Originally, the examples/gargi.ami).
A possible fix for this is to have the decomposition of branch conditions (via the PredicatedState class) also indicate which operands or expressions are actually stored in the underlying Comparisons instance for the state, rather than have the GVN algorithm class try to approximate it.