[PATCH] D21165: Disable MSan-hostile loop unswitching.

Evgeniy Stepanov via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 8 18:20:54 PDT 2016


eugenis created this revision.
eugenis added a reviewer: chandlerc.
eugenis added a subscriber: llvm-commits.
eugenis set the repository for this revision to rL LLVM.
Herald added a subscriber: mzolotukhin.

Loop unswitching may cause MSan false positive when the unswitch
condition is not guaranteed to execute.

This is very similar to ASan and TSan special case in
llvm::isSafeToSpeculativelyExecute (they don't like speculative loads
and stores), but for branch instructions.

Fixes PR28054.

Repository:
  rL LLVM

http://reviews.llvm.org/D21165

Files:
  include/llvm/Transforms/Utils/LoopUtils.h
  lib/Transforms/Scalar/LICM.cpp
  lib/Transforms/Scalar/LoopUnswitch.cpp
  test/Transforms/LoopUnswitch/msan.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D21165.60128.patch
Type: text/x-patch
Size: 7793 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160609/ed209a7b/attachment.bin>


More information about the llvm-commits mailing list