Create RCIdentityAnalysis a cache for stripRCIdentityPreservingOps.

The cache is needed to ensure we do not run into compile time problems once we
start looking through Phi Nodes.

The analysis is currently disabled and just returns
SILValue::stripRCIdentityPreservingOps. I am going to thread it through the rest
of the passes that use that call. Then I am going to hide
stripRCIdentityPreservingArgs. Finally post OzU, I am going to enable the pass.

rdar://18300069

Swift SVN r21891
This commit is contained in:
Michael Gottesman
2014-09-11 21:51:29 +00:00
parent 8ec2b299f3
commit 4647eb9601
7 changed files with 303 additions and 1 deletions

View File

@@ -41,7 +41,6 @@ static bool isRCIdentityPreservingCast(ValueKind Kind) {
}
}
/// Return the underlying SILValue after stripping off identity SILArguments if
/// we belong to a BB with one predecessor.
static SILValue stripSinglePredecessorArgs(SILValue V) {