llvm-project/llvm/test/Transforms/JumpThreading
Evgenii Stepanov f9471b0010 Fix MSan false positive due to select folding.
Summary:
Select folding in JumpThreading can create a conditional branch on a
code patch that did not have one in the original program. This is not a
valid transformation in sanitize_memory functions.

Note that JumpThreading does select folding in 3 different places. Two
of them seem safe - they apply to a select instruction in a BB that ends
with an unconditional branch to another BB, which (in turn) ends with a
conditional branch or a switch with the same condition.

Fixes PR45220.

Reviewers: glider, dvyukov, efriedma

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D76332
2020-03-31 15:25:42 -07: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
PR44611-across-header-hang.ll [JumpThreading] Fix infinite loop (PR44611) 2020-03-19 12:49:36 -07:00
and-and-cond.ll
and-cond.ll
assume-edge-dom.ll
assume.ll
basic.ll
bb-unreachable-from-entry.ll [JT][CVP] Regenerate test checks, again 2019-11-01 22:27:48 +01:00
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 [JT][CVP] Regenerate test checks, again 2019-11-01 22:27:48 +01:00
implied-cond.ll
indirectbr.ll
induction.ll [JT][CVP] Regenerate test checks, again 2019-11-01 22:27:48 +01:00
is_constant.ll [Intrinsic] Give "is.constant" the "convergent" attribute 2020-03-30 11:47:12 -07:00
landing-pad.ll
loop-phi.ll
lvi-load.ll
lvi-tristate.ll
ne-undef.ll [ValueLattice] Add new state for undef constants. 2020-03-14 17:19:59 +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 [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-unfold-msan.ll Fix MSan false positive due to select folding. 2020-03-31 15:25:42 -07:00
select.ll [JumpThreading] add a miscompile test based on discussion in D76332; NFC 2020-03-18 16:46:18 -04:00
stale-loop-info-after-unfold-select.ll
static-profile.ll
thread-cmp.ll
thread-loads.ll IR: print value numbers for unnamed function arguments 2019-08-03 14:28:34 +00:00
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