SIL representation

This commit is contained in:
Arnold Schwaighofer
2021-10-05 08:01:59 -07:00
parent 71f46a4f25
commit c2b2f1331f
19 changed files with 129 additions and 29 deletions

View File

@@ -80,17 +80,20 @@ void SILFunctionBuilder::addFunctionAttributes(
if (hasSPI) {
spiGroupIdent = spiGroups[0];
}
auto availability =
AvailabilityInference::annotatedAvailableRangeForAttr(SA,
M.getSwiftModule()->getASTContext());
if (targetFunctionDecl) {
SILDeclRef declRef(targetFunctionDecl, constant.kind, false);
targetFunction = getOrCreateDeclaration(targetFunctionDecl, declRef);
F->addSpecializeAttr(SILSpecializeAttr::create(
M, SA->getSpecializedSignature(), SA->isExported(), kind,
targetFunction, spiGroupIdent,
attributedFuncDecl->getModuleContext()));
attributedFuncDecl->getModuleContext(), availability));
} else {
F->addSpecializeAttr(SILSpecializeAttr::create(
M, SA->getSpecializedSignature(), SA->isExported(), kind, nullptr,
spiGroupIdent, attributedFuncDecl->getModuleContext()));
spiGroupIdent, attributedFuncDecl->getModuleContext(), availability));
}
}