Commits

Xin Tong committed 8eedb43c4cc
Implement partially dead argument elimination. 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