Change the type of function values in SIL to SILFunctionType.

Perform major abstraction remappings in SILGen.  Introduce
thunking functions as necessary to map between abstraction
patterns.

Swift SVN r10562
This commit is contained in:
John McCall
2013-11-19 22:55:09 +00:00
parent 07b7bf7bf7
commit 20e58dcf93
111 changed files with 7108 additions and 3946 deletions

View File

@@ -358,9 +358,7 @@ void SILSerializer::writeSILInstruction(const SILInstruction &SI) {
(unsigned)AI->isTransparent(),
AI->getSubstitutions().size(),
S.addTypeRef(AI->getCallee().getType().getSwiftRValueType()),
(unsigned)AI->getCallee().getType().getCategory(),
S.addTypeRef(AI->getSubstCalleeType().getSwiftRValueType()),
(unsigned)AI->getSubstCalleeType().getCategory(),
S.addTypeRef(AI->getSubstCalleeType()),
addValueRef(AI->getCallee()), AI->getCallee().getResultNumber(),
Args);
S.writeSubstitutions(AI->getSubstitutions(), SILAbbrCodes);
@@ -378,9 +376,7 @@ void SILSerializer::writeSILInstruction(const SILInstruction &SI) {
0 /*IsTransparent*/,
PAI->getSubstitutions().size(),
S.addTypeRef(PAI->getCallee().getType().getSwiftRValueType()),
(unsigned)PAI->getCallee().getType().getCategory(),
S.addTypeRef(PAI->getSubstCalleeType().getSwiftRValueType()),
(unsigned)PAI->getSubstCalleeType().getCategory(),
S.addTypeRef(PAI->getSubstCalleeType()),
addValueRef(PAI->getCallee()), PAI->getCallee().getResultNumber(),
Args);
S.writeSubstitutions(PAI->getSubstitutions(), SILAbbrCodes);