Skip to content

Commit a0615e9

Browse files
committed
[NFC] Use GenericSIgnature::getGanonicalSignature Where Possible
1 parent 1491eb0 commit a0615e9

File tree

16 files changed

+24
-57
lines changed

16 files changed

+24
-57
lines changed

include/swift/AST/AutoDiff.h

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -727,10 +727,7 @@ template <> struct DenseMapInfo<AutoDiffConfig> {
727727
}
728728

729729
static unsigned getHashValue(const AutoDiffConfig &Val) {
730-
auto canGenSig =
731-
Val.derivativeGenericSignature
732-
? Val.derivativeGenericSignature->getCanonicalSignature()
733-
: nullptr;
730+
auto canGenSig = Val.derivativeGenericSignature.getCanonicalSignature();
734731
unsigned combinedHash = hash_combine(
735732
~1U, DenseMapInfo<void *>::getHashValue(Val.parameterIndices),
736733
DenseMapInfo<void *>::getHashValue(Val.resultIndices),
@@ -739,14 +736,8 @@ template <> struct DenseMapInfo<AutoDiffConfig> {
739736
}
740737

741738
static bool isEqual(const AutoDiffConfig &LHS, const AutoDiffConfig &RHS) {
742-
auto lhsCanGenSig =
743-
LHS.derivativeGenericSignature
744-
? LHS.derivativeGenericSignature->getCanonicalSignature()
745-
: nullptr;
746-
auto rhsCanGenSig =
747-
RHS.derivativeGenericSignature
748-
? RHS.derivativeGenericSignature->getCanonicalSignature()
749-
: nullptr;
739+
auto lhsCanGenSig = LHS.derivativeGenericSignature.getCanonicalSignature();
740+
auto rhsCanGenSig = RHS.derivativeGenericSignature.getCanonicalSignature();
750741
return LHS.parameterIndices == RHS.parameterIndices &&
751742
LHS.resultIndices == RHS.resultIndices &&
752743
DenseMapInfo<GenericSignature>::isEqual(lhsCanGenSig, rhsCanGenSig);

lib/AST/ASTContext.cpp

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4912,7 +4912,7 @@ CanGenericSignature ASTContext::getOpenedArchetypeSignature(Type type) {
49124912
// The opened archetype signature for a protocol type is identical
49134913
// to the protocol's own canonical generic signature.
49144914
if (const auto protoTy = dyn_cast<ProtocolType>(existential)) {
4915-
return protoTy->getDecl()->getGenericSignature()->getCanonicalSignature();
4915+
return protoTy->getDecl()->getGenericSignature().getCanonicalSignature();
49164916
}
49174917

49184918
auto found = getImpl().ExistentialSignatures.find(existential);
@@ -5273,9 +5273,7 @@ AutoDiffDerivativeFunctionIdentifier *AutoDiffDerivativeFunctionIdentifier::get(
52735273
llvm::FoldingSetNodeID id;
52745274
id.AddInteger((unsigned)kind);
52755275
id.AddPointer(parameterIndices);
5276-
CanGenericSignature derivativeCanGenSig;
5277-
if (derivativeGenericSignature)
5278-
derivativeCanGenSig = derivativeGenericSignature->getCanonicalSignature();
5276+
auto derivativeCanGenSig = derivativeGenericSignature.getCanonicalSignature();
52795277
id.AddPointer(derivativeCanGenSig.getPointer());
52805278

52815279
void *insertPos;

lib/AST/GenericSignatureBuilder.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8611,9 +8611,7 @@ AbstractGenericSignatureRequest::evaluate(
86118611
// generic signature builder.
86128612
if (!isCanonicalRequest(baseSignature, addedParameters, addedRequirements)) {
86138613
// Canonicalize the inputs so we can form the canonical request.
8614-
GenericSignature canBaseSignature;
8615-
if (baseSignature)
8616-
canBaseSignature = baseSignature->getCanonicalSignature();
8614+
auto canBaseSignature = baseSignature.getCanonicalSignature();
86178615

86188616
SmallVector<GenericTypeParamType *, 2> canAddedParameters;
86198617
canAddedParameters.reserve(addedParameters.size());

lib/AST/NameLookup.cpp

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -702,13 +702,9 @@ static void recordShadowedDecls(ArrayRef<ValueDecl *> decls,
702702
if (decl->isRecursiveValidation())
703703
continue;
704704

705-
CanGenericSignature signature;
706-
707-
auto *dc = decl->getInnermostDeclContext();
708-
if (auto genericSig = dc->getGenericSignatureOfContext())
709-
signature = genericSig->getCanonicalSignature();
710-
711705
// Record this declaration based on its signature.
706+
auto *dc = decl->getInnermostDeclContext();
707+
auto signature = dc->getGenericSignatureOfContext().getCanonicalSignature();
712708
auto &known = collisions[signature.getPointer()];
713709
if (known.size() == 1) {
714710
collisionSignatures.push_back(signature.getPointer());

lib/AST/ProtocolConformance.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -532,8 +532,8 @@ ConditionalRequirementsRequest::evaluate(Evaluator &evaluator,
532532
// something else. The most important bit is having the same type
533533
// parameters. (NB. if/when Swift gets parameterized extensions, this needs to
534534
// change.)
535-
assert(typeSig->getCanonicalSignature().getGenericParams() ==
536-
extensionSig->getCanonicalSignature().getGenericParams());
535+
assert(typeSig.getCanonicalSignature().getGenericParams() ==
536+
extensionSig.getCanonicalSignature().getGenericParams());
537537

538538
// Find the requirements in the extension that aren't proved by the original
539539
// type, these are the ones that make the conformance conditional.

lib/IRGen/GenPointerAuth.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -523,7 +523,7 @@ static uint64_t getTypeHash(IRGenModule &IGM, CanSILFunctionType type) {
523523
auto genericSig = type->getInvocationGenericSignature();
524524
hashStringForFunctionType(
525525
IGM, type, Out,
526-
genericSig ? genericSig->getCanonicalSignature()->getGenericEnvironment()
526+
genericSig ? genericSig.getCanonicalSignature()->getGenericEnvironment()
527527
: nullptr);
528528
return clang::CodeGen::computeStableStringHash(Out.str());
529529
}
@@ -533,7 +533,7 @@ static uint64_t getYieldTypesHash(IRGenModule &IGM, CanSILFunctionType type) {
533533
llvm::raw_svector_ostream out(buffer);
534534
auto genericSig = type->getInvocationGenericSignature();
535535
GenericEnvironment *genericEnv =
536-
genericSig ? genericSig->getCanonicalSignature()->getGenericEnvironment()
536+
genericSig ? genericSig.getCanonicalSignature()->getGenericEnvironment()
537537
: nullptr;
538538

539539
out << [&]() -> StringRef {

lib/SIL/IR/AbstractionPattern.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -630,7 +630,7 @@ AbstractionPattern::getObjCMethodAsyncCompletionHandlerType(
630630
if (auto origSig = getGenericSignature()) {
631631
patternSig = origSig;
632632
} else if (auto genFnTy = dyn_cast<GenericFunctionType>(getType())) {
633-
patternSig = genFnTy->getGenericSignature()->getCanonicalSignature();
633+
patternSig = genFnTy->getGenericSignature().getCanonicalSignature();
634634
}
635635

636636
return AbstractionPattern(patternSig,

lib/SIL/IR/SILInstructions.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -781,9 +781,7 @@ SILType DifferentiabilityWitnessFunctionInst::getDifferentiabilityWitnessType(
781781
SILModule &module, DifferentiabilityWitnessFunctionKind witnessKind,
782782
SILDifferentiabilityWitness *witness) {
783783
auto fnTy = witness->getOriginalFunction()->getLoweredFunctionType();
784-
CanGenericSignature witnessCanGenSig;
785-
if (auto witnessGenSig = witness->getDerivativeGenericSignature())
786-
witnessCanGenSig = witnessGenSig->getCanonicalSignature();
784+
auto witnessCanGenSig = witness->getDerivativeGenericSignature().getCanonicalSignature();
787785
auto *parameterIndices = witness->getParameterIndices();
788786
auto *resultIndices = witness->getResultIndices();
789787
if (auto derivativeKind = witnessKind.getAsDerivativeFunctionKind()) {

lib/SIL/Verifier/SILVerifier.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1445,8 +1445,8 @@ class SILVerifier : public SILVerifierBase<SILVerifier> {
14451445
});
14461446
}
14471447

1448-
if (subs.getGenericSignature()->getCanonicalSignature() !=
1449-
fnTy->getInvocationGenericSignature()->getCanonicalSignature()) {
1448+
if (subs.getGenericSignature().getCanonicalSignature() !=
1449+
fnTy->getInvocationGenericSignature().getCanonicalSignature()) {
14501450
llvm::dbgs() << "substitution map's generic signature: ";
14511451
subs.getGenericSignature()->print(llvm::dbgs());
14521452
llvm::dbgs() << "\n";

lib/SILGen/ResultPlan.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -525,8 +525,7 @@ class ForeignAsyncInitializationPlan final : public ResultPlan {
525525
impFnTy = cast<SILFunctionType>(impTy.getASTType());
526526
}
527527
auto env = SGF.F.getGenericEnvironment();
528-
auto sig = env ? env->getGenericSignature()->getCanonicalSignature()
529-
: CanGenericSignature();
528+
auto sig = env->getGenericSignature().getCanonicalSignature();
530529
SILFunction *impl = SGF.SGM
531530
.getOrCreateForeignAsyncCompletionHandlerImplFunction(
532531
cast<SILFunctionType>(impFnTy->mapTypeOutOfContext()

0 commit comments

Comments
 (0)