mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
This change includes an option on how IsLive is defined/computed. the ProjectionTree can now choose to ignore epilogue releases and mark a node as dead if its only non-debug user is epilogue release. It can also mark a node as alive even its only user is epilogue release as before. Imagine a case where one passes in an array and not access its owner besides to release it. In such a case, we *do* want to be able to eliminate that argument even though there is a release in the function epilogue. This will help to get rid of the retain and release pair at the callsite. i.e. the guaranteed paramter is elimininated. rdar://21114206
52 KiB
52 KiB