llvm-project/llvm/test/Transforms/JumpThreading
Fangrui Song 13a97305ba [JumpThreading] Skip unconditional PredBB when threading jumps through two basic blocks
Fixes https://bugs.llvm.org/show_bug.cgi?id=44922 (caused by 4698bf145d)

ThreadThroughTwoBasicBlocks assumes PredBBBranch is conditional. The following code can segfault.

  AddPHINodeEntriesForMappedBlock(PredBBBranch->getSuccessor(1), PredBB, NewBB,
                                  ValueMapping);

We can also allow unconditional PredBB, but the produced code is not
better.

Reviewed By: kazu

Differential Revision: https://reviews.llvm.org/D74747
2020-02-18 11:01:46 -08: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
PR37745.ll
and-and-cond.ll
and-cond.ll
assume-edge-dom.ll
assume.ll
basic.ll
bb-unreachable-from-entry.ll
branch-debug-info.ll
branch-no-const.ll
callbr-edge-split.ll
codesize-loop.ll [JumpThreading] Half the duplicate threshold at Oz 2020-02-03 08:40:20 +00:00
combine-metadata.ll Temporarily revert "Reapply [LVI] Normalize pointer behavior" and "[LVI] Restructure caching" 2019-12-20 10:25:57 -08:00
compare.ll
conservative-lvi.ll
crash.ll
ddt-crash.ll
ddt-crash2.ll
ddt-crash3.ll Migrate function attribute "no-frame-pointer-elim"="false" to "frame-pointer"="none" as cleanups after D56351 2019-12-24 16:27:51 -08:00
ddt-crash4.ll
degenerate-phi.ll
fold-not-thread.ll
guards.ll
header-succ.ll
implied-cond.ll
indirectbr.ll
induction.ll
landing-pad.ll
loop-phi.ll
lvi-load.ll
lvi-tristate.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
pr33605.ll [llvm] Fix broken cases of 'CHECK[^:]*$' in tests 2020-01-28 09:52:59 -07:00
pr33917.ll
pr36133.ll
pr40992-indirectbr-folding.ll
range-compare.ll
redundant-dbg-info.ll Reapply "[DebugInfo] Prevent explosion of debug intrinsics during jump threading" 2020-02-12 12:39:54 +00:00
removed-use.ll
select.ll
stale-loop-info-after-unfold-select.ll
static-profile.ll
thread-cmp.ll
thread-loads.ll
thread-two-bbs1.ll Resubmit^2: [JumpThreading] Thread jumps through two basic blocks 2020-02-05 09:23:37 -08:00
thread-two-bbs2.ll Resubmit^2: [JumpThreading] Thread jumps through two basic blocks 2020-02-05 09:23:37 -08:00
thread-two-bbs3.ll Resubmit^2: [JumpThreading] Thread jumps through two basic blocks 2020-02-05 09:23:37 -08:00
thread-two-bbs4.ll Resubmit^2: [JumpThreading] Thread jumps through two basic blocks 2020-02-05 09:23:37 -08:00
thread-two-bbs5.ll Resubmit^2: [JumpThreading] Thread jumps through two basic blocks 2020-02-05 09:23:37 -08:00
thread-two-bbs6.ll [JumpThreading] Skip unconditional PredBB when threading jumps through two basic blocks 2020-02-18 11:01:46 -08:00
threading_prof1.ll
threading_prof2.ll
unreachable-loops.ll
update-edge-weight.ll [JumpThreading] Use profile data even with the new pass manager 2019-11-22 08:21:48 -08:00