llvm-project/llvm/test/Transforms/JumpThreading
Brian M. Rzycki 252165b27a [LazyValueInfo] PR33357 prevent infinite recursion on BinaryOperator
Summary:
It is possible for LVI to encounter instructions that are not in valid
SSA form and reference themselves. One example is the following:
  %tmp4 = and i1 %tmp4, undef
Before this patch LVI would recurse until running out of stack memory
and crashed.  This patch marks these self-referential instructions as
Overdefined and aborts analysis on the instruction.

Fixes https://bugs.llvm.org/show_bug.cgi?id=33357

Reviewers: craig.topper, anna, efriedma, dberlin, sebpop, kuhar

Reviewed by: dberlin

Subscribers: uabelho, spatel, a.elovikov, fhahn, eli.friedman, mzolotukhin, spop, evandro, davide, llvm-commits

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

llvm-svn: 327432
2018-03-13 18:14:10 +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
PR33357-lvi-recursion.ll [LazyValueInfo] PR33357 prevent infinite recursion on BinaryOperator 2018-03-13 18:14:10 +00:00
and-and-cond.ll
and-cond.ll
assume-edge-dom.ll
assume.ll
basic.ll [JumpThreading] Don't restrict cast-traversal to i1 2018-03-09 16:43:46 +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
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
pr36133.ll [JumpThreading] PR36133 enable/disable DominatorTree for LVI analysis 2018-02-16 16:35:17 +00:00
range-compare.ll
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