mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
Merge pull request #31262 from nate-chandler/generic-metadata-prespecialization-components/on-for-stdlib
[metadata prespecialization] Reenable for stdlib.
This commit is contained in:
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user