swift
2f34014f - Rescue the ValueLifetimeAnalysis utility.

Commit
4 years ago
Rescue the ValueLifetimeAnalysis utility. This is a basic SSA-based liveness algorithm. It should just do what it says. This change rescues the core logic from the nonsense that's been hacked in. There are now two APIs: (1) computeLifetimeBoundary (new) only does lifetime analysis. It provides a new API that always succeeds and provides the last use points so clients can do the right thing based on the user. I need this for OSSA utilities. (2) computeFrontier (old) emulates the original API with a simplified version of the original logic. Next steps: - replace the old API with a separate utility that computes destroy insertion points. Completely remove DeadEndBlocks from lifetime analysis, because it simply has nothing to do with liveness. - Gradually migrate clients to either the new lifetime API provided here or the new destroy insertion API to be provided later.
Author
Committer
Parents
Loading