@@ -192,8 +192,8 @@ SILCombiner::SILCombiner(SILFunctionTransform *trans,
192
192
use->set (newValue);
193
193
Worklist.add (use->getUser ());
194
194
})),
195
- deadEndBlocks (trans->getFunction ()), MadeChange( false ),
196
- RemoveCondFails(removeCondFails),
195
+ DEBA (trans->getPassManager ()->getAnalysis<DeadEndBlocksAnalysis>()),
196
+ MadeChange( false ), RemoveCondFails(removeCondFails),
197
197
enableCopyPropagation(enableCopyPropagation), Iteration(0 ),
198
198
Builder(*trans->getFunction (), &TrackingList),
199
199
FuncBuilder(*trans),
@@ -354,7 +354,7 @@ void SILCombiner::canonicalizeOSSALifetimes(SILInstruction *currentInst) {
354
354
CanonicalizeOSSALifetime canonicalizer (
355
355
DontPruneDebugInsts,
356
356
MaximizeLifetime_t (!parentTransform->getFunction ()->shouldOptimize ()),
357
- parentTransform->getFunction (), NLABA, domTree, CA, deleter);
357
+ parentTransform->getFunction (), NLABA, DEBA, domTree, CA, deleter);
358
358
CanonicalizeBorrowScope borrowCanonicalizer (parentTransform->getFunction (),
359
359
deleter);
360
360
@@ -397,7 +397,7 @@ bool SILCombiner::doOneIteration(SILFunction &F, unsigned Iteration) {
397
397
// Add reachable instructions to our worklist.
398
398
addReachableCodeToWorklist (&*F.begin ());
399
399
400
- SILCombineCanonicalize scCanonicalize (Worklist, deadEndBlocks );
400
+ SILCombineCanonicalize scCanonicalize (Worklist, *DEBA-> get (&F) );
401
401
402
402
// Process until we run out of items in our worklist.
403
403
while (!Worklist.isEmpty ()) {
0 commit comments