@@ -371,7 +371,6 @@ static bool processSwitch(SwitchInst *I, LazyValueInfo *LVI,
371
371
{ // Scope for SwitchInstProfUpdateWrapper. It must not live during
372
372
// ConstantFoldTerminator() as the underlying SwitchInst can be changed.
373
373
SwitchInstProfUpdateWrapper SI (*I);
374
- unsigned ReachableCaseCount = 0 ;
375
374
376
375
for (auto CI = SI->case_begin (), CE = SI->case_end (); CI != CE;) {
377
376
ConstantInt *Case = CI->getCaseValue ();
@@ -408,33 +407,6 @@ static bool processSwitch(SwitchInst *I, LazyValueInfo *LVI,
408
407
409
408
// Increment the case iterator since we didn't delete it.
410
409
++CI;
411
- ++ReachableCaseCount;
412
- }
413
-
414
- BasicBlock *DefaultDest = SI->getDefaultDest ();
415
- if (ReachableCaseCount > 1 &&
416
- !isa<UnreachableInst>(DefaultDest->getFirstNonPHIOrDbg ())) {
417
- ConstantRange CR = LVI->getConstantRangeAtUse (I->getOperandUse (0 ),
418
- /* UndefAllowed*/ false );
419
- // The default dest is unreachable if all cases are covered.
420
- if (!CR.isSizeLargerThan (ReachableCaseCount)) {
421
- BasicBlock *NewUnreachableBB =
422
- BasicBlock::Create (BB->getContext (), " default.unreachable" ,
423
- BB->getParent (), DefaultDest);
424
- new UnreachableInst (BB->getContext (), NewUnreachableBB);
425
-
426
- DefaultDest->removePredecessor (BB);
427
- SI->setDefaultDest (NewUnreachableBB);
428
-
429
- if (SuccessorsCount[DefaultDest] == 1 )
430
- DTU.applyUpdatesPermissive (
431
- {{DominatorTree::Delete, BB, DefaultDest}});
432
- DTU.applyUpdatesPermissive (
433
- {{DominatorTree::Insert, BB, NewUnreachableBB}});
434
-
435
- ++NumDeadCases;
436
- Changed = true ;
437
- }
438
410
}
439
411
}
440
412
@@ -1255,12 +1227,6 @@ CorrelatedValuePropagationPass::run(Function &F, FunctionAnalysisManager &AM) {
1255
1227
if (!Changed) {
1256
1228
PA = PreservedAnalyses::all ();
1257
1229
} else {
1258
- #if defined(EXPENSIVE_CHECKS)
1259
- assert (DT->verify (DominatorTree::VerificationLevel::Full));
1260
- #else
1261
- assert (DT->verify (DominatorTree::VerificationLevel::Fast));
1262
- #endif // EXPENSIVE_CHECKS
1263
-
1264
1230
PA.preserve <DominatorTreeAnalysis>();
1265
1231
PA.preserve <LazyValueAnalysis>();
1266
1232
}
0 commit comments