llvm-project/llvm/test/Transforms/JumpThreading
Haicheng Wu 476adcca6b [JumpThreading] Add a pattern to TryToUnfoldSelectInCurrBB()
Add the following pattern to TryToUnfoldSelectInCurrBB()

bb:
   %p = phi [0, %bb1], [1, %bb2], [0, %bb3], [1, %bb4], ...
   %c = cmp %p, 0
   %s = select %c, trueval, falseval

The Select in the above pattern will be unfolded and then jump-threaded. The
current implementation does not allow CMP in the middle of PHI and Select.

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

llvm-svn: 308050
2017-07-14 19:16:47 +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 Revert @llvm.assume with operator bundles (r289755-r289757) 2016-12-19 08:22:17 +00:00
assume.ll [JumpThreading] Safely replace uses of condition 2017-05-23 13:36:25 +00:00
basic.ll Revert r300657 due to crashes in stage2 of bootstraps: 2017-04-19 06:23:20 +00:00
branch-no-const.ll
compare.ll
conservative-lvi.ll
crash.ll
degenerate-phi.ll
fold-not-thread.ll [JumpThreading] Safely replace uses of condition 2017-05-23 13:36:25 +00:00
guards.ll [JumpThreading] Safely replace uses of condition 2017-05-23 13:36:25 +00:00
implied-cond.ll
indirectbr.ll
induction.ll
landing-pad.ll
lvi-load.ll
no-irreducible-loops.ll
or-undef.ll
phi-eq.ll
phi-known.ll
pr9331.ll
pr15851_hang.ll
pr22086.ll
pr26096.ll
pr27840.ll Jump threading: avoid trying to split edge into landingpad block (PR27840) 2016-10-03 18:18:04 +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
thread-cmp.ll
thread-loads.ll [JumpThreading] Perform phi-translation in SimplifyPartiallyRedundantLoad. 2017-03-19 15:30:53 +00:00
update-edge-weight.ll