SIL: Drop unnecessary bits from SILFunctionType::ExtInfo.

"Autoclosure" is uninteresting to SIL. "noescape" isn't currently used by SIL and we shouldn't have it until it has a meaningful effect on SIL. "throws" should be adequately represented by a SIL function type having an error result.

Swift SVN r27023
This commit is contained in:
Joe Groff
2015-04-05 17:35:28 +00:00
parent 4821f594bb
commit 56de5fb95e
11 changed files with 24 additions and 88 deletions

View File

@@ -3649,21 +3649,20 @@ Type ModuleFile::getType(TypeID TID) {
uint8_t rawCalleeConvention;
bool thin, block;
bool noreturn = false;
bool noescape = false;
unsigned numGenericParams;
ArrayRef<uint64_t> paramIDs;
decls_block::SILFunctionTypeLayout::readRecord(scratch,
interfaceResultID,
rawInterfaceResultConvention,
interfaceErrorResultID,
rawInterfaceErrorResultConvention,
rawCalleeConvention,
rawCallingConvention,
thin, block,
noreturn, noescape,
numGenericParams,
paramIDs);
interfaceResultID,
rawInterfaceResultConvention,
interfaceErrorResultID,
rawInterfaceErrorResultConvention,
rawCalleeConvention,
rawCallingConvention,
thin, block,
noreturn,
numGenericParams,
paramIDs);
// Process the ExtInfo.
auto callingConvention = getActualCC(rawCallingConvention);
@@ -3673,8 +3672,7 @@ Type ModuleFile::getType(TypeID TID) {
}
SILFunctionType::ExtInfo extInfo(callingConvention.getValue(),
getSILFunctionRepresentation(thin, block),
noreturn, /*autoclosure*/false, noescape,
/*throws*/false);
noreturn);
// Process the result.
auto interfaceResultConvention