summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/IPO/GlobalOpt.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/Transforms/IPO/GlobalOpt.cpp')
-rw-r--r--llvm/lib/Transforms/IPO/GlobalOpt.cpp18
1 files changed, 0 insertions, 18 deletions
diff --git a/llvm/lib/Transforms/IPO/GlobalOpt.cpp b/llvm/lib/Transforms/IPO/GlobalOpt.cpp
index 93eab680ca6..3d57acf06e7 100644
--- a/llvm/lib/Transforms/IPO/GlobalOpt.cpp
+++ b/llvm/lib/Transforms/IPO/GlobalOpt.cpp
@@ -2026,24 +2026,6 @@ OptimizeFunctions(Module &M, TargetLibraryInfo *TLI,
continue;
}
- // LLVM's definition of dominance allows instructions that are cyclic
- // in unreachable blocks, e.g.:
- // %pat = select i1 %condition, @global, i16* %pat
- // because any instruction dominates an instruction in a block that's
- // not reachable from entry.
- // 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()) {
- if (removeUnreachableBlocks(*F)) {
- auto &DT = LookupDomTree(*F);
- DT.recalculate(*F);
- Changed = true;
- }
- }
-
Changed |= processGlobal(*F, TLI, LookupDomTree);
if (!F->hasLocalLinkage())
OpenPOWER on IntegriCloud