Uses less analysis info, can work on branches outside fork-joins.
Supports partial predication (when some strict subset of inputs to a region form a simple branch, the corresponding strict subset of inputs to phis on the region are predicated).
New WritePredication pass for converting a branch over writes to a branch over data and indices inputs to a single write, reducing need for spilling in GCM.