[PATCH] D138526: [SimpleLoopUnswitch] unswitch selects

Vitaly Buka via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon May 8 17:33:42 PDT 2023


vitalybuka added a comment.

In D138526#4327672 <https://reviews.llvm.org/D138526#4327672>, @caojoshua wrote:

>> Freeze is going to be false negatives, which are bad for msan, but better then false positives. Taking that this is -O3 only the patch is LGTM.
>> I played with existing version of compiler, looks like freeze from this pass can hide a lot of bugs.
>> So please consider just make this patch NOOP if function has sanitize_memory attribute. Do you see disadvantages in this?
>
> Could you share an example of a case where LoopUnswitch could hide a bug? I'm guessing its where we hoist a branch that could be undef. We insert a freeze that hides the use of undef, but maybe its actually a true undef and we get a false negative. I'm having some trouble producing this case atm.

I mean your and similar to https://godbolt.org/z/fvP1h164s when foo (%myB.coerce) is uninitialized, freezes eliminated all checks for shadow.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D138526/new/

https://reviews.llvm.org/D138526



More information about the llvm-commits mailing list