@@ -192,8 +192,8 @@ SILCombiner::SILCombiner(SILFunctionTransform *trans,
192192 use->set (newValue);
193193 Worklist.add (use->getUser ());
194194 })),
195- deadEndBlocks (trans->getFunction ()), MadeChange( false ),
196- RemoveCondFails(removeCondFails),
195+ DEBA (trans->getPassManager ()->getAnalysis<DeadEndBlocksAnalysis>()),
196+ MadeChange( false ), RemoveCondFails(removeCondFails),
197197 enableCopyPropagation(enableCopyPropagation), Iteration(0 ),
198198 Builder(*trans->getFunction (), &TrackingList),
199199 FuncBuilder(*trans),
@@ -354,7 +354,7 @@ void SILCombiner::canonicalizeOSSALifetimes(SILInstruction *currentInst) {
354354 CanonicalizeOSSALifetime canonicalizer (
355355 DontPruneDebugInsts,
356356 MaximizeLifetime_t (!parentTransform->getFunction ()->shouldOptimize ()),
357- parentTransform->getFunction (), NLABA, domTree, CA, deleter);
357+ parentTransform->getFunction (), NLABA, DEBA, domTree, CA, deleter);
358358 CanonicalizeBorrowScope borrowCanonicalizer (parentTransform->getFunction (),
359359 deleter);
360360
@@ -397,7 +397,7 @@ bool SILCombiner::doOneIteration(SILFunction &F, unsigned Iteration) {
397397 // Add reachable instructions to our worklist.
398398 addReachableCodeToWorklist (&*F.begin ());
399399
400- SILCombineCanonicalize scCanonicalize (Worklist, deadEndBlocks );
400+ SILCombineCanonicalize scCanonicalize (Worklist, *DEBA-> get (&F) );
401401
402402 // Process until we run out of items in our worklist.
403403 while (!Worklist.isEmpty ()) {
0 commit comments