llvm-project/llvm/test/Transforms/JumpThreading
Jakub Kuderski d2e371f046 [Dominators] Visit affected node candidates found at different root levels
Summary:
This patch attempts to fix the DomTree incremental insertion bug found here [[ https://bugs.llvm.org/show_bug.cgi?id=35969 | PR35969 ]] .

When performing an insertion into a piece of unreachable CFG, we may find the same not at different levels. When this happens, the node can turn out to be affected when we find it starting from a node with a lower level in the tree. The level at which we start visitation affects if we consider a node affected or not.

This patch tracks the lowest level at which each node was visited during insertion and allows it to be visited multiple times, if it can cause it to be considered affected.

Reviewers: brzycki, davide, dberlin, grosser

Reviewed By: brzycki

Subscribers: llvm-commits

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

llvm-svn: 322993
2018-01-19 21:27:24 +00:00
..
2008-11-27-EntryMunge.ll
2010-08-26-and.ll
2011-04-02-SimplifyDeadBlock.ll
2011-04-14-InfLoop.ll
2012-07-19-NoSuccessorIndirectBr.ll
and-and-cond.ll
and-cond.ll
assume-edge-dom.ll
assume.ll [JumpThreading] Safely replace uses of condition 2017-05-23 13:36:25 +00:00
basic.ll Fix some misc. -enable-var-scope violations 2017-11-13 01:47:52 +00:00
branch-no-const.ll
compare.ll
conservative-lvi.ll
crash.ll
ddt-crash.ll [JumpThreading] Preservation of DT and LVI across the pass 2018-01-12 21:06:48 +00:00
ddt-crash2.ll [JumpThreading] Preservation of DT and LVI across the pass 2018-01-12 21:06:48 +00:00
ddt-crash3.ll [Dominators] Visit affected node candidates found at different root levels 2018-01-19 21:27:24 +00:00
ddt-crash4.ll [Dominators] Visit affected node candidates found at different root levels 2018-01-19 21:27:24 +00:00
degenerate-phi.ll
fold-not-thread.ll [JumpThreading] Safely replace uses of condition 2017-05-23 13:36:25 +00:00
guards.ll [JumpThreading] Restrict PRE across instructions that don't pass control to successors 2017-12-19 09:10:21 +00:00
implied-cond.ll
indirectbr.ll
induction.ll
landing-pad.ll
lvi-load.ll
lvi-tristate.ll [JumpThreading] Preservation of DT and LVI across the pass 2018-01-12 21:06:48 +00:00
no-irreducible-loops.ll
or-undef.ll
phi-eq.ll
phi-known.ll
pr9331.ll
pr15851_hang.ll
pr22086.ll
pr26096.ll
pr27840.ll
pr33605.ll [SimplifyCFG] Defer folding unconditional branches to LateSimplifyCFG if it can destroy canonical loop structure. 2017-07-19 08:53:34 +00:00
pr33917.ll [JumpThreading] Stop falsely preserving LazyValueInfo. 2017-07-28 03:10:43 +00:00
range-compare.ll [JumpThreading] Add test case that was supposed to go with r306085. 2017-06-27 15:26:47 +00:00
select.ll [JumpThreading] Add a pattern to TryToUnfoldSelectInCurrBB() 2017-07-14 19:16:47 +00:00
static-profile.ll Disable jump threading into loop headers 2017-09-06 19:36:58 +00:00
thread-cmp.ll
thread-loads.ll
threading_prof1.ll [Profile] backward propagate profile info in JumpThreading 2017-08-24 22:54:01 +00:00
threading_prof2.ll [Profile] backward propagate profile info in JumpThreading 2017-08-24 22:54:01 +00:00
update-edge-weight.ll