Skip to content

Commit 31effa7

Browse files
committed
OpaqueArchetypeSpecializer addressed review comments
1 parent 1fbf5f1 commit 31effa7

File tree

1 file changed

+2
-3
lines changed

1 file changed

+2
-3
lines changed

lib/SILOptimizer/Transforms/SpecializeOpaqueArchetypes.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -111,8 +111,7 @@ void OpaqueSpecializerCloner::insertOpaqueToConcreteAddressCasts(
111111
auto argIdx = apply.getCalleeArgIndex(opd);
112112
auto argType = substConv.getSILArgumentType(argIdx);
113113
if (argConv.isIndirectConvention() &&
114-
argType.getASTType()->hasOpaqueArchetype() &&
115-
!opd.get()->getType().getASTType()->hasOpaqueArchetype()) {
114+
argType.getASTType() != opd.get()->getType().getASTType()) {
116115
auto cast = getBuilder().createUncheckedAddrCast(apply.getLoc(),
117116
opd.get(), argType);
118117
opd.set(cast);
@@ -131,7 +130,7 @@ class OpaqueArchetypeSpecializer : public SILFunctionTransform {
131130
for (auto &inst : BB) {
132131
auto *allocStack = dyn_cast<AllocStackInst>(&inst);
133132
if (!allocStack ||
134-
!allocStack->getElementType().is<OpaqueTypeArchetypeType>())
133+
!allocStack->getElementType().getASTType()->hasOpaqueArchetype())
135134
continue;
136135
foundOpaqueArchetype = true;
137136
break;

0 commit comments

Comments
 (0)