mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
[cast-optimizer] Fix a small bug related to opened existentials tracking
Fixes rdar://32124747
This commit is contained in:
@@ -2232,6 +2232,8 @@ CastOptimizer::optimizeCheckedCastBranchInst(CheckedCastBranchInst *Inst) {
|
||||
auto CanMetaTy = CanTypeWrapper<MetatypeType>(MetaTy);
|
||||
auto SILMetaTy = SILType::getPrimitiveObjectType(CanMetaTy);
|
||||
SILBuilderWithScope B(Inst);
|
||||
B.getOpenedArchetypes().addOpenedArchetypeOperands(
|
||||
FoundIEI->getTypeDependentOperands());
|
||||
auto *MI = B.createMetatype(FoundIEI->getLoc(), SILMetaTy);
|
||||
|
||||
auto *NewI = B.createCheckedCastBranch(Loc, /* isExact */ false, MI,
|
||||
@@ -2290,6 +2292,8 @@ CastOptimizer::optimizeCheckedCastBranchInst(CheckedCastBranchInst *Inst) {
|
||||
auto CanMetaTy = CanTypeWrapper<MetatypeType>(MetaTy);
|
||||
auto SILMetaTy = SILType::getPrimitiveObjectType(CanMetaTy);
|
||||
SILBuilderWithScope B(Inst);
|
||||
B.getOpenedArchetypes().addOpenedArchetypeOperands(
|
||||
FoundIERI->getTypeDependentOperands());
|
||||
auto *MI = B.createMetatype(FoundIERI->getLoc(), SILMetaTy);
|
||||
|
||||
auto *NewI = B.createCheckedCastBranch(Loc, /* isExact */ false, MI,
|
||||
|
||||
Reference in New Issue
Block a user