[all-commits] [llvm/llvm-project] f9471b: Fix MSan false positive due to select folding.

Evgenii Stepanov via All-commits all-commits at lists.llvm.org
Tue Mar 31 15:25:54 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: f9471b001089c744050c7a9cff39ebda2ff69011
      https://github.com/llvm/llvm-project/commit/f9471b001089c744050c7a9cff39ebda2ff69011
  Author: Evgenii Stepanov <eugenis at google.com>
  Date:   2020-03-31 (Tue, 31 Mar 2020)

  Changed paths:
    M llvm/lib/Transforms/Scalar/JumpThreading.cpp
    A llvm/test/Transforms/JumpThreading/select-unfold-msan.ll

  Log Message:
  -----------
  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




More information about the All-commits mailing list