mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
Moves SignatureAnalyzer and ArgumentDescriptor/ResultDescriptor into a separate
analysis pass. This pass is run on every function and the optimized signature is return'ed through the getArgDescList and getResultDescList. Next step is to split to cloning and callsite rewriting into their own function passes. rdar://24730896
This commit is contained in:
@@ -1172,6 +1172,16 @@ ProjectionTree::~ProjectionTree() {
|
||||
N->~ProjectionTreeNode();
|
||||
}
|
||||
|
||||
void
|
||||
ProjectionTree::initializeWithExistingTree(const ProjectionTree &PT) {
|
||||
Kind = PT.Kind;
|
||||
EpilogueReleases = PT.EpilogueReleases;
|
||||
LiveLeafIndices = PT.LiveLeafIndices;
|
||||
for (const auto &N : PT.ProjectionTreeNodes) {
|
||||
ProjectionTreeNodes.push_back(new (Allocator) ProjectionTreeNode(*N));
|
||||
}
|
||||
}
|
||||
|
||||
SILValue
|
||||
ProjectionTree::computeExplodedArgumentValueInner(SILBuilder &Builder,
|
||||
SILLocation Loc,
|
||||
|
||||
Reference in New Issue
Block a user