mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
[metadata prespecialization] Reenable for stdlib.
Whenever building the stdlib for a supported platform, enable metadata prespecialization for it.
This commit is contained in:
@@ -1398,13 +1398,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) {
|
||||
|
||||
Reference in New Issue
Block a user