llvm-project/llvm/test
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
..
Analysis [SCEV] Use backedge SCEV of PHI only if its input is loop invariant 2020-03-31 18:39:24 +07:00
Assembler Add support for SHA256 source file checksums in debug info 2020-03-12 16:32:05 -07:00
Bindings
Bitcode Fix conflict value for metadata "Objective-C Garbage Collection" in the mix of swift and Objective-C bitcode 2020-03-11 13:26:06 -07:00
BugPoint
CodeGen [PPCInstPrinter] Print conditional branches as `bt 2, $target` instead of `bt 2, .+$imm` 2020-03-31 15:05:38 -07:00
DebugInfo [DebugInfo] Ensure that a demanded bits optimisation in 2020-03-30 15:39:22 +01:00
Demangle
Examples
ExecutionEngine [AsmPrinter] Simplify AsmPrinter::emitXXStructorList after D61547 2020-03-21 23:18:23 -07:00
Feature
FileCheck [FileCheck] Add missing %ProtectFileCheckOutput to FileCheck tests 2020-03-31 17:29:11 -04:00
IR [AssumeBundles] Preserve Information from Load/Store 2020-03-31 17:47:04 +02:00
Instrumentation
Integer
JitListener
LTO [X86InstPrinter] Change printPCRelImm to print the target address in hexadecimal form 2020-03-26 08:28:59 -07:00
Linker Fix conflict value for metadata "Objective-C Garbage Collection" in the mix of swift and Objective-C bitcode 2020-03-11 13:26:06 -07:00
MC [PPCInstPrinter] Print conditional branches as `bt 2, $target` instead of `bt 2, .+$imm` 2020-03-31 15:05:38 -07:00
MachineVerifier
Object [obj2yaml] - Teach tool to dump program headers. 2020-03-31 18:10:19 +03:00
ObjectYAML [test] llvm/test/: change llvm-objdump single-dash long options to double-dash options 2020-03-15 17:46:23 -07:00
Other [NFC] Do not run CGProfilePass when not using integrated assembler 2020-03-31 10:31:31 -07:00
Reduce
SafepointIRVerifier
Support
SymbolRewriter
TableGen [Alignment][NFC] Transitionning more getMachineMemOperand call sites 2020-03-31 08:36:18 +00:00
ThinLTO/X86 [Object] Change ELFObjectFile<ELFT>::getFileFormatName() to use BFD names 2020-03-16 07:42:04 -07:00
Transforms Fix MSan false positive due to select folding. 2020-03-31 15:25:42 -07:00
Unit
Verifier Verifier: Check bswap is supported size 2020-03-22 12:15:25 -04:00
YAMLParser
tools [PPCInstPrinter] Print conditional branches as `bt 2, $target` instead of `bt 2, .+$imm` 2020-03-31 15:05:38 -07:00
.clang-format
CMakeLists.txt
TestRunner.sh
lit.cfg.py
lit.site.cfg.py.in