diff --git a/lib/SILOptimizer/IPO/CapturePromotion.cpp b/lib/SILOptimizer/IPO/CapturePromotion.cpp index f44905f7621..f601c6df4c8 100644 --- a/lib/SILOptimizer/IPO/CapturePromotion.cpp +++ b/lib/SILOptimizer/IPO/CapturePromotion.cpp @@ -365,6 +365,7 @@ computeNewArgInterfaceTypes(SILFunction *F, assert(paramBoxTy->getLayout()->getFields().size() == 1 && "promoting compound box not implemented yet"); auto paramBoxedTy = paramBoxTy->getFieldType(F->getModule(), 0); + // FIXME: Expansion auto ¶mTL = Types.getTypeLowering(paramBoxedTy, ResilienceExpansion::Minimal); ParameterConvention convention; diff --git a/lib/SILOptimizer/Transforms/ObjectOutliner.cpp b/lib/SILOptimizer/Transforms/ObjectOutliner.cpp index bc1ca879bdf..f65404498f3 100644 --- a/lib/SILOptimizer/Transforms/ObjectOutliner.cpp +++ b/lib/SILOptimizer/Transforms/ObjectOutliner.cpp @@ -339,6 +339,7 @@ bool ObjectOutliner::optimizeObjectAllocation( << ARI->getFunction()->getName() << '\n'); SILModule *Module = &ARI->getFunction()->getModule(); + // FIXME: Expansion assert(!Cl->isResilient(Module->getSwiftModule(), ResilienceExpansion::Minimal) && "constructor call of resilient class should prevent static allocation"); @@ -448,6 +449,7 @@ void ObjectOutliner::replaceFindStringCall(ApplyInst *FindStringCall) { return; + // FIXME: Expansion assert(!cacheDecl->isResilient(Module->getSwiftModule(), ResilienceExpansion::Minimal)); diff --git a/lib/SILOptimizer/Utils/Devirtualize.cpp b/lib/SILOptimizer/Utils/Devirtualize.cpp index 714e63c13b2..f00be3fc325 100644 --- a/lib/SILOptimizer/Utils/Devirtualize.cpp +++ b/lib/SILOptimizer/Utils/Devirtualize.cpp @@ -695,8 +695,7 @@ bool swift::canDevirtualizeClassMethod(FullApplySite AI, } // We need to disable the “effectively final” opt if a function is inlinable - if (isEffectivelyFinalMethod && AI.getFunction()->getResilienceExpansion() == - ResilienceExpansion::Minimal) { + if (isEffectivelyFinalMethod && AI.getFunction()->isSerialized()) { LLVM_DEBUG(llvm::dbgs() << " FAIL: Could not optimize function " "because it is an effectively-final inlinable: " << AI.getFunction()->getName() << "\n");