File tree 1 file changed +3
-7
lines changed
1 file changed +3
-7
lines changed Original file line number Diff line number Diff line change @@ -2285,14 +2285,10 @@ OptimizeFunctions(Module &M,
2285
2285
// So, remove unreachable blocks from the function, because a) there's
2286
2286
// no point in analyzing them and b) GlobalOpt should otherwise grow
2287
2287
// some more complicated logic to break these cycles.
2288
- // Removing unreachable blocks might invalidate the dominator so we
2289
- // recalculate it.
2290
2288
if (!F->isDeclaration ()) {
2291
- if (removeUnreachableBlocks (*F)) {
2292
- auto &DT = LookupDomTree (*F);
2293
- DT.recalculate (*F);
2294
- Changed = true ;
2295
- }
2289
+ auto &DT = LookupDomTree (*F);
2290
+ DomTreeUpdater DTU (DT, DomTreeUpdater::UpdateStrategy::Lazy);
2291
+ Changed |= removeUnreachableBlocks (*F, &DTU);
2296
2292
}
2297
2293
2298
2294
Changed |= processGlobal (*F, GetTLI, LookupDomTree);
You can’t perform that action at this time.
0 commit comments