llvm-project/llvm/test/Transforms/LoopRotate
Jakub Kuderski b323f4f173 [LoopRotate] Fix DomTree update logic for unreachable nodes. Fix PR33701.
Summary:
LoopRotate manually updates the DoomTree by iterating over all predecessors of a basic block and computing the Nearest Common Dominator.

When a predecessor happens to be unreachable, `DT.findNearestCommonDominator` returns nullptr.

This patch teaches LoopRotate to handle this case and fixes [[ https://bugs.llvm.org/show_bug.cgi?id=33701 | PR33701 ]].

In the future, LoopRotate should be taught to use the new incremental API for updating the DomTree.

Reviewers: dberlin, davide, uabelho, grosser

Subscribers: efriedma, mzolotukhin

Differential Revision: https://reviews.llvm.org/D35074

llvm-svn: 307828
2017-07-12 18:42:16 +00:00
..
2009-01-25-SingleEntryPhi.ll
PhiRename-1.ll
PhiSelfReference-1.ll
alloca.ll
basic.ll Revert @llvm.assume with operator bundles (r289755-r289757) 2016-12-19 08:22:17 +00:00
catchret.ll Restrict the definition of loop preheader to avoid EH blocks 2017-06-22 23:27:16 +00:00
convergent.ll
crash.ll
dbgvalue.ll Cleanup tests to not share a DISubprogram between multiple Functions. 2017-05-04 16:24:31 +00:00
indirectbr.ll
multiple-exits.ll
nosimplifylatch.ll
oz-disable.ll
phi-dbgvalue.ll [LoopRotate] Propagate dbg.value intrinsics 2017-03-08 09:56:22 +00:00
phi-duplicate.ll
pr2639.ll
pr22337.ll
pr33701.ll [LoopRotate] Fix DomTree update logic for unreachable nodes. Fix PR33701. 2017-07-12 18:42:16 +00:00
preserve-loop-simplify.ll
preserve-scev.ll
simplifylatch.ll