Files
swift-mirror/lib/SILPasses/DefiniteInitialization.cpp
Erik Eckstein 12b43dde74 Change the algorithm for computing the availability in DefiniteInitialization.
The old recursive algorithm had exponential complexity in worst case.
The new algorithm is a simple iterative dataflow algorithm.

This fixes <rdar://problem/19259710> Swift project locks up "indexing" or building (LifetimeChecker::doIt())

In the new algorithm I didn't specialize for the NumElements==1 case (as the old algorithm did),
because IMO it does not make a significant difference.



Swift SVN r24309
2015-01-09 17:09:10 +00:00

72 KiB