mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
Directly implement the data flow. Eliminate the extraneous work. Remove cubic behavior. Do a single iteration of the data flow state at each program point only performing the necessary set operations. At unidentified access, clear the sets for simplicity and efficiency. This cleanup results in significant functional changes: - Allowing scopes to merge even if they are enclosed. - Handling unidentified access conservatively. Note that most of the added lines of code are comments. Somehow this cleanup incidentally fixes: <rdar://problem/48514339> swift compiler hangs building project (I expected the subsequent loop summary cleanup to fix that problem.)
14 KiB
14 KiB