Revert [GlobalOpt] Pass DTU to removeUnreachableBlocks instead of recomputing.

This breaks http://lab.llvm.org:8011/builders/sanitizer-windows/builds/52310

This reverts r373430 (git commit 70f7003548)

llvm-svn: 373432
This commit is contained in:
Florian Hahn 2019-10-02 08:32:25 +00:00
parent cbefc36fcc
commit 47dbcbd8ec
1 changed files with 7 additions and 3 deletions

View File

@ -2285,10 +2285,14 @@ OptimizeFunctions(Module &M,
// So, remove unreachable blocks from the function, because a) there's
// no point in analyzing them and b) GlobalOpt should otherwise grow
// some more complicated logic to break these cycles.
// Removing unreachable blocks might invalidate the dominator so we
// recalculate it.
if (!F->isDeclaration()) {
auto &DT = LookupDomTree(*F);
DomTreeUpdater DTU(DT, DomTreeUpdater::UpdateStrategy::Lazy);
Changed |= removeUnreachableBlocks(*F, nullptr, &DTU);
if (removeUnreachableBlocks(*F)) {
auto &DT = LookupDomTree(*F);
DT.recalculate(*F);
Changed = true;
}
}
Changed |= processGlobal(*F, GetTLI, LookupDomTree);