Merge pull request #31262 from nate-chandler/generic-metadata-prespecialization-components/on-for-stdlib

[metadata prespecialization] Reenable for stdlib.
This commit is contained in:
nate-chandler
2020-04-27 09:29:47 -07:00
committed by GitHub

View File

@@ -1408,13 +1408,18 @@ void IRGenModule::error(SourceLoc loc, const Twine &message) {
bool IRGenModule::useDllStorage() { return ::useDllStorage(Triple); }
bool IRGenModule::shouldPrespecializeGenericMetadata() {
auto canPrespecializeTarget =
(Triple.isOSDarwin() || Triple.isTvOS() || Triple.isOSLinux());
if (canPrespecializeTarget && isStandardLibrary()) {
return true;
}
auto &context = getSwiftModule()->getASTContext();
auto deploymentAvailability =
AvailabilityContext::forDeploymentTarget(context);
return IRGen.Opts.PrespecializeGenericMetadata &&
deploymentAvailability.isContainedIn(
context.getPrespecializedGenericMetadataAvailability()) &&
(Triple.isOSDarwin() || Triple.isTvOS() || Triple.isOSLinux());
return IRGen.Opts.PrespecializeGenericMetadata &&
deploymentAvailability.isContainedIn(
context.getPrespecializedGenericMetadataAvailability()) &&
canPrespecializeTarget;
}
void IRGenerator::addGenModule(SourceFile *SF, IRGenModule *IGM) {