6:41:01beachI am not sure y'all have looked in the logs, but karlosz and myself adapted the published algorithm for sparse conditional constant propagation from SSA to SFA. In the process, the algorithm was simplified, and of course, we avoid the problems with SSA.
6:41:50beachFurthermore, we noticed a property of SFA namely that UD chains and DU chains are trivial. So in case we see algorithms that need such chains, we could consider converting to SFA first.
6:42:53drmeisterbeach: I was reading it today on my phone - it sounds exciting. What does it mean?
6:43:36beachWhich part? The algorithm does constant propagation, and also eliminates branches where the test turns out to be constant at compile time.
6:43:38drmeisterAnd what do you call the instruction that takes the place of a PHI instruction?
6:43:52beachThere are no special instructions in SFA.
6:44:11beachThere is just an assignment in each incoming branch to a merge point.
6:45:02beachSo instead of v <- phi(v1, v2, ... vn) we have n incoming arcs with an instruction in the middle doing v <- v1, v <- v2, ... v <- vn.