swift
6b77b79a - MultiDefPrunedLiveness: add support for arbitrary uses/defs.

Commit
2 years ago
MultiDefPrunedLiveness: add support for arbitrary uses/defs. This now supports liveness holes within blocks where previously we expected a phi def. PrunedLiveness is streamlined for SSA liveness where we expect the defs and uses to be related in the SSA def-use graph. MultiDefPrunedLiveness was added on top of SSAPrunedLivenes to handle extended SSA liveness that occurs with phis, but are still connected in the def-use graph. Recently MultiDefPrunedLiveness was repurposed for liveness of addressible storage. This means that we can now have uses before defs in the same block without a corresponding phi. Fortunately, handling this case is a straightforward extension of MultiDefPrunedLiveness that does not complicate or penalize the streamlined SSA case.
Author
Committer
Parents
Loading